在Django中将DateTimeField保留为空的奇特之处?

cas*_*iel 3 django django-models

在模型中,我设定DateTimeFieldnull,并blankTrue

当我尝试保存模型时,将该字段设置为空字符串时,它将抱怨时间格式错误,但是当我给出它时,它将成功None

a.date = ''
a.save() #datetime format error
a.date = None
a.save() #no error this time
Run Code Online (Sandbox Code Playgroud)

为什么Django无法自动检测到一个空字符串 None当我将分配给已经允许null和的字段时blank

Pet*_*per 5

DateTimeFields不接受字符串,它们接受Python datetime对象。如果设置为允许空白,则为“无”。空字符串不是“ no value”的通用Python值,因此我不确定为什么会期望它自动转换。