我遇到了有史以来最奇怪的错误。我有一个人物模型
class Person(models.Model):
user = models.OneToOneField(User, primary_key=True)
facebook_id = models.CharField(max_length=225, unique=True, null=True, blank=True)
twitter_id = models.CharField(max_length=225, unique=True, null=True, blank=True)
suggested_person = models.BooleanField(default=False)
我最近添加了 twitter_id 字段。当我访问 Django 管理页面并尝试将“人”更改为 suggested_person 时,出现以下错误:
Person with this Twitter id already exists.
我发现这个错误非常奇怪,因为 Facebook_id 字段的设计方式与 Twitter_id 字段完全相同。
这可能是什么原因?
原文由 deadlock 发布,翻译遵循 CC BY-SA 4.0 许可协议
由于您有
null=True, blank=True
和unique=True
,django 正在考虑None
或空白作为唯一条目。删除唯一性约束并处理代码中的唯一性部分。