gpt4 book ai didi

django - Django OneToOneField 需要唯一吗?

转载 作者:行者123 更新时间:2023-12-02 06:17:12 26 4
gpt4 key购买 nike

我收到“列 template_id 不唯一”错误,现在让我解释一下。我有一个模板模型和它的播放器版本。

模板:

class FarmTemplate(models.Model):
"""Template of the "Farm" building"""

name = models.CharField(max_length=23)
flavor = models.TextField()
resource = models.CharField(max_length=23)
version = models.FloatField(unique=True)

def __unicode__(self):
return self.name

我的用户模型:

class Farm(models.Model):
"""Keeps track of Townhall"""

user = models.ForeignKey(User)
template = models.OneToOneField(FarmTemplate)
level = models.IntegerField()

def __unicode__(self):
return "User: %s, Farm level: %s" % (self.user, self.level)

当我创建第一个对象时,一切正常,但是,当我创建第二个对象时,它告诉我 OneToOneField 不是唯一的(这是正确的,因为它使用相同的模板。但我不知道为什么这需要是独一无二的..有人可以解释一下我哪里出错了吗?

最佳答案

OnetoOne 表示每个元组都是唯一的。我认为你应该使用外键:

class Farm(models.Model):
"""Keeps track of Townhall"""

user = models.ForeignKey(User)
template = models.ForeignKey(FarmTemplate)
level = models.IntegerField()

def __unicode__(self):
return "User: %s, Farm level: %s" % (self.user, self.level)

关于django - Django OneToOneField 需要唯一吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20909039/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com