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

时间:2018-11-30 12:36:18

标签: python django postgresql

我有一个使用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 个答案:

答案 0 :(得分:4)

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

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