モデル (A) がモデル (B) の定義に依存しているが、モデル (B) もモデル (A) の定義に依存している場合、どのように対処しますか。
たとえば、私は
class event(models.Model):
competition_start = models.DateField()
competitors = models.ManyToManyField(picture)
results = models.CommaSeparatedIntegerField(max_length=20)
class picture(models.Model):
uploader = models.OneToOneField(UserProfile)
upload_date = models.DateField()
image = models.ImageField(upload_to="media")
score = models.DecimalField(max_digits=10,decimal_places=10)
score_RD = models.DecimalField(max_digits=10,decimal_places=10)
rated = models.BooleanField()
last_competed = models.DateField()
competition = models.OneToOneField(event)
競技者フィールドは定義されている画像に依存していますが、画像は定義されているイベントに依存しています。
各画像 (A) はイベントと 1 対 1 の関係を共有しますが、イベントには複数の他の画像 (セット (S)-A) が含まれる場合があることに注意してください。
パッティングに交換してみました
competitors = models.ManyToManyField(picture)
user_pic = models.OneToOneField(picture)
イベント内で「競合」フィールドを削除しますが、SQL ではこれが許可されていないと思います。誰かが理由を説明できますか?
1 つのフィールドに対して OneToOne 関係が必要で、別のフィールドに対して ManyToMany 関係が必要な場合、どのような修正を行う必要がありますか? (2 つの同じクラス間)
ありがとうございました :)