我有一个使用 PostgreSQL 数据库的 Django 应用程序,其中用户迁移有一个带有unique=True. 我的User模型有:email = models.EmailField(_('email address'), unique=True, blank=True)我希望能够使用空白电子邮件创建多个用户,但是当电子邮件不是空白时,它必须是唯一的。目前,当我使用空白电子邮件创建两个用户时,出现此错误:重复键值违反唯一约束“accounts_user_email_b2644a56_uniq”编辑:我已将此添加到模型中的save方法中User:if not self.email:
self.email = None
1 回答

哆啦的时光机
TA贡献1779条经验 获得超6个赞
唯一约束将允许具有 value 的多行null
,但不允许具有 value 空字符串的多行。
因此,您应该null=True
在字段上设置,然后设置email=None
而不是email=""
。
添加回答
举报
0/150
提交
取消