我不需要User.email
字段。我知道blank=True
将使它在表单中是必需的,但是我想在数据库级别上强制使用它。奇怪的是,Django
的{{1}}模型默认情况下具有User
和email
的{{1}},所以我不明白为什么我可以创建一个用户来做:
null=False
数据库不会引发任何错误。
有人可以解释吗?
答案 0 :(得分:1)
As per the Django docs,当CharField的null为False时,默认值为空字符串,User.email为EmailField,它是CharField的子类,这意味着创建没有电子邮件地址的User将会将电子邮件设置为''