Django 模型保存和“键 PRIMARY 的重复条目”
Posted
技术标签:
【中文标题】Django 模型保存和“键 PRIMARY 的重复条目”【英文标题】:Django Model Save and "Duplicate entry for key PRIMARY" 【发布时间】:2015-01-09 21:34:51 【问题描述】:我有一个 django 模型,将两个外键归档到一个模型:
class MyModel(models.Model):
user = models.ForeignKey(User)
boss = models.ForeignKey(User, blank=True, null=True, related_name = 'the_boss')
def save(self, *args, **kwargs)
if self.pk:
#do some staff
super(MyModel, self).save(*args, **kwargs)
boss
字段,添加模型更新。但是当模型更新时(django admin)我有
键 PRIMARY 的重复条目
super(MyModel, self).save(self, *args, **kwargs)
错误。对此问题的任何帮助将不胜感激。
【问题讨论】:
请添加更多详细信息(明确do some staff part
)以便能够理解问题。
为什么不给User
模型提供一个可选的ForeignKey
?这就是为什么它给你错误,因为你有两个。
@DavidW。我已经编辑了我的问题
【参考方案1】:
使用related_name
应该可以。问题出在#do some staff
部分或模型迁移等其他地方。
【讨论】:
【参考方案2】:尝试将related_name
也添加到用户 ForeignKey
【讨论】:
related_name 也有同样的问题。以上是关于Django 模型保存和“键 PRIMARY 的重复条目”的主要内容,如果未能解决你的问题,请参考以下文章