django.contrib.auth.user的唯一电子邮件约束

django.contrib.auth.user的唯一电子邮件约束,第1张

概述我更改了 django.contrib.auth.user模型,其中我将电子邮件ID设置为唯一.之后我添加了数据移植以反映相同的情况 – > python manage.py datamigration appname unique_password. 其次是python manage.py schemamigration appname –auto – >没有变化.最后,python manag 我更改了 django.contrib.auth.user模型,其中我将电子邮件ID设置为唯一.之后我添加了数据移植以反映相同的情况 –

> python manage.py datamigration appname unique_password.
其次是python manage.py schemamigration appname –auto – >没有变化.最后,python manage.py迁移appname.
>向前迁移到0003_unique_password
>
应用程序名称:0037_unique_password.py

现在,当我添加一个电子邮件不唯一的用户时,它会给我一个错误,并且不允许我通过django admin创建用户.但当我这样做时:
>

> python manage.py shell
>来自django.contrib.auth.models导入用户
>
用户=用户( ‘cust1’,‘123’,‘[email protected]’)
即使’[email protected]’已经存在,也会创建一个用户对象.

如何为现有项目(带数据)的django.contrib.auth.user.email添加唯一约束

解决方法 根据模型验证 documentation,在模型验证期间检查唯一性.在模型上调用save()不会自动导致模型验证.管理员应用程序将调用模型验证.

没有什么能阻止您在Python中创建User对象,例如user = User(‘cust1′,’123′,’[email protected]’),然后执行user.save().如果在数据库级别存在唯一性检查,则此时可能会出现异常.如果要在执行保存之前进行检查,请在Model实例上调用is_valID().

如果希望在保存之前自动验证每个User对象,请在保存进行之前使用pre_save Django信号进行模型验证.

总结

以上是内存溢出为你收集整理的django.contrib.auth.user的唯一电子邮件约束全部内容,希望文章能够帮你解决django.contrib.auth.user的唯一电子邮件约束所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1196763.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存