0
두 개의 Profile
모델 객체가 Pair
모델 객체의 일부가되도록 허용하는 시스템을 구현하려고합니다. 여기 '통과'모델이 마이 그 레이션에서 오류를 반환하는 다 대다 관계
class Profile(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
null=True, blank=True)
pair = models.ManyToManyField('self', through='Pair',
symmetrical=False,
related_name='pair_to+')
class Pair(models.Model):
requester = models.ForeignKey(Profile, related_name='pairing_requester')
accepter = models.ForeignKey(Profile, related_name='pairing_accepter')
requester_learns = models.CharField(max_length=60, null=True)
requester_teaches = models.CharField(max_length=60, null=True)
정보 간의 관계는, 대칭 (profile1, PROFILE2)의 고유 목적이되도록해야하며, I는 (PROFILE2 기대하지 않아야 profile1)을 만듭니다.
따라서 this article,마다 관계를 만들려고합니다.
ERRORS:
<function ManyToManyField.contribute_to_class.<locals>.resolve_through_model at 0x1044b47b8>: (models.E022) <function ManyToManyField.contribute_to_class.<locals>.resolve_through_model at 0x1044b47b8> contains a lazy reference to user_profile.pair, but app 'user_profile' doesn't provide model 'pair'.
user_profile.Profile.pair: (fields.E331) Field specifies a many-to-many relation through model 'Pair', which has not been installed.
내가 잘못 뭐하는 거지 : makemigrations
시
, 나는 오류가 발생입니까?
그런 다음 다른 models.py 파일에 보관할 방법이 없습니까? – Homer
당신은 그것을 지킬 수는 있지만 그것을 만들기 전에 먼저 테이블을 만들 필요가있다. 그렇지 않으면 django는 릴레이션을 만들 때 테이블이 존재하지 않기 때문에 어떤 테이블에 관계를 만들지 이해하지 못한다. – Exprator
나는 마이 그 레이션 및 마이 그 레이션 쌍을 처음으로 혼자하지만 동일한 오류가 발생합니다. 프로필 모델에서 쌍 모델을 문자열로 지정하는 것과 관련이 있습니까? – Homer