django.contrib.auth.user的唯一电子邮件约束
我更改了
django.contrib.auth.user模型,其中我将电子邮件ID设置为唯一.之后我添加了数据移植以反映相同的情况 –
> python manage.py datamigration appname unique_password. 现在,当我添加一个电子邮件不唯一的用户时,它会给我一个错误,并且不允许我通过django admin创建用户.但当我这样做时: > python manage.py shell 如何为现有项目(带数据)的django.contrib.auth.user.email添加唯一约束? 解决方法
根据模型验证
documentation,在模型验证期间检查唯一性.在模型上调用save()不会自动导致模型验证.管理员应用程序将调用模型验证.
没有什么能阻止您在Python中创建User对象,例如user = User(‘cust1′,’123′,’xxx@gmail.com’),然后执行user.save().如果在数据库级别存在唯一性检查,则此时可能会出现异常.如果要在执行保存之前进行检查,请在Model实例上调用is_valid(). 如果希望在保存之前自动验证每个User对象,请在保存进行之前使用pre_save Django信号进行模型验证. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |