我有一個使用 PostgreSQL 數(shù)據(jù)庫的 Django 應(yīng)用程序,其中用戶遷移有一個帶有unique=True. 我的User模型有:email = models.EmailField(_('email address'), unique=True, blank=True)我希望能夠使用空白電子郵件創(chuàng)建多個用戶,但是當(dāng)電子郵件不是空白時,它必須是唯一的。目前,當(dāng)我使用空白電子郵件創(chuàng)建兩個用戶時,出現(xiàn)此錯誤:重復(fù)鍵值違反唯一約束“accounts_user_email_b2644a56_uniq”編輯:我已將此添加到模型中的save方法中User:if not self.email:
self.email = None
1 回答

哆啦的時光機
TA貢獻1779條經(jīng)驗 獲得超6個贊
唯一約束將允許具有 value 的多行null
,但不允許具有 value 空字符串的多行。
因此,您應(yīng)該null=True
在字段上設(shè)置,然后設(shè)置email=None
而不是email=""
。
添加回答
舉報
0/150
提交
取消