如何處理模型(A)依賴於模型(B)被定義,但模型(B)也依賴於模型(A)被定義的情況。Django模型定義競賽
舉例來說,我有
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)與事件共享一對一的關係,但該事件可能涉及多個其他圖片(set(S)-A)。
我試着換過來把
competitors = models.ManyToManyField(picture)
user_pic = models.OneToOneField(picture)
事件的內部和擺脫領域「競爭」的,但我相信SQL不允許這樣做。有人能解釋爲什麼嗎?
如果我需要一個字段的OneToOne關係並且與另一個字段的ManyToMany關係需要執行什麼修復? (兩個相同的類之間)
謝謝:)
啊......非常感謝你;它似乎已經解決了這個問題。但是,您是否可以解釋爲什麼您可以在與圖片具有OneToOne關係的事件中擁有一個字段,並且圖片可以具有與事件具有ManyToMany關係的字段。但是,如果一個人與圖片之間存在ManyToMany關係而另一個人與圖片之間存在OneToOne關係,則不能擁有兩個字段? – user1431282
你沒有理由不能這樣做。你試用時會得到什麼錯誤? – sdolan