from django.contrib.auth.models import User
a = User.objects.create_user("1","2","3")
b = User.objects.create_user("1","2","3")
还没有错误......
a.validate_unique()
ValidationError: {'username': [u'User with this Username already exists.']}
当b被保存为create_user
的一部分时,我希望收到验证错误。
查看Django Model Instance Reference,'当您保存'时会发生什么?部分没有描述任何时候的保存。
由于使用django-nonrel,这是故意的设计决定还是副作用?我原本期望关系数据库返回IntegrityError或类似的东西。
答案 0 :(得分:3)
您可能正在使用SQLite,它不支持唯一键约束。
create_user
假设您已经完成了所有必需的检查,通常是在表单的验证功能中。它给你足够的绳索让自己挂起来。
答案 1 :(得分:0)
默认情况下,MongoDB不会阻止在返回控制之前验证写入是否成功。