用一封空白电子邮件添加多个Django用户



我有一个使用PostgreSQL数据库的Django应用程序,其中用户迁移有一个带有unique=True的电子邮件字段。我的User型号有:

email = models.EmailField(_('email address'), unique=True, blank=True)

我希望能够用空白电子邮件创建多个用户,但当电子邮件不是空白时,它必须是唯一的。目前,当我用一封空白电子邮件创建两个用户时,我会收到以下错误:

重复键值违反了唯一约束"accounts_user_email_b2644a56_uniq">

EDIT:我已经将其添加到User模型中的save方法中:

if not self.email:
self.email = None

唯一约束将允许值为null的多行,但不允许值为空字符串的多行。

因此,您应该在字段上设置null=True,然后设置email=None而不是email=""

最新更新