我收到django的跟随错误
(1062,"重复输入' 2'关键' building_id'")
这是模型的样子
class BuildingProgressComments(models.Model):
user = models.ForeignKey(User)
building = models.OneToOneField('Building')
date_created = models.DateTimeField(auto_now_add=True)
comment = models.TextField(blank=True, null=True)
class Meta:
verbose_name='Building progress notes'
def __unicode__(self):
return unicode(self.building)
我正在尝试为单个建筑物添加多个条目,而建筑物字段不是主键,为什么这不起作用?
提前致谢
答案 0 :(得分:2)
导致错误的原因是您正在使用'OneToOneField',它不允许您为'building_id'创建多个条目。
Check out - Django Documentation - OneToOne fields
您想使用'ForeignKey'字段创建具有相同'building_id'的多个条目,就像您在'User'字段中使用的一样。
以下是它的外观:
class BuildingProgressComments(models.Model):
user = models.ForeignKey(User)
building = models.ForeignKey('Building')
date_created = models.DateTimeField(auto_now_add=True)
comment = models.TextField(blank=True, null=True)
class Meta:
verbose_name='Building progress notes'
def __unicode__(self):
return unicode(self.building)
答案 1 :(得分:0)
您正尝试在OneToOneField
中插入多个条目。就像它的名字所暗示的那样,这种类型的字段只能有一个条目。请改用ForeignKey
。
答案 2 :(得分:0)
试试这个: 要更改您的代码:
这
building = models.OneToOneField('Building')
要
building = models.ForeignKey('Building')
帮助提示:要了解更多信息,请点击此处OneToOneField