的情况下,我有两个型号: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