的情況下,我有兩個型號:Django的模型可以在只有一個B型
class ModelA(models.Model):
name = models.CharField(max_length=256)
class ModelB(models.Model):
user = models.ForeignKey(MyUser)
model_a = models.ForeignKey(ModelA)
points = models.IntegerField(default=0)
我怎樣才能防止創建相同的對象?例如:
我有ModelA的A,B,C實例和兩個用戶。在ModelB中,我需要這樣的關係:
用戶1只能有一個'鏈接'到A,一個是B等。 User2相同。他只能對每個ModelA實例「鏈接」。
每個用戶可以在與ModelA關聯的ModelB中擁有一條記錄。
E.g. (用戶1,a,100),(用戶2,A,50) 但是,如果我會嘗試做這樣的事情
...create(user=User1, model_a=A, points=50)
我需要從USER1數據庫記錄得到,和A,和廣告點,不會創建另一個類似的模型。
,我不明白你的問題,如果有一個一對一的關係,那麼你應該把它定義爲這樣 – Sayse
如果我在model_a中添加OneToOne,然後我無法將相同的ModelA添加到不同的用戶。 – mrsolupo
然後用戶是ModelA是多的那麼1,因此外鍵需要在用戶 – Sayse