Django-为什么User.email为None时db不会引发异常?

时间:2019-09-13 13:17:19

标签: django django-models

我不需要User.email字段。我知道blank=True将使它在表单中是必需的,但是我想在数据库级别上强制使用它。奇怪的是,Django的{​​{1}}模型默认情况下具有Useremail的{​​{1}},所以我不明白为什么我可以创建一个用户来做:

null=False

数据库不会引发任何错误。

有人可以解释吗?

1 个答案:

答案 0 :(得分:1)

As per the Django docs,当CharField的null为False时,默认值为空字符串,User.email为EmailField,它是CharField的子类,这意味着创建没有电子邮件地址的User将会将电子邮件设置为''