猿问

Django:将 DateTimeField 默认值定义为 None 或空白字段

我想在我的 models.py 文件中定义一个新字段。

情况1 :

download_date = models.DateTimeField(verbose_name=_('download date'), null=True, default=None)

当一个对象被保存到我的数据库中时,这个字段应该是NoneBlank字段。

如果我像上面那样写我的字段,它会给出:

“download_date”列中的空值违反了非空约束

案例2:

如果我添加blank = True,我会遇到同样的问题

“download_date”列中的空值违反了非空约束

我必须写什么才能获得空白/空字段?


倚天杖
浏览 1420回答 3
3回答

拉丁的传说

设置 null=True 和 blank=True 就是这样做的方法。但是在您的情况下,您说您确实运行了迁移。所以看起来非空约束已经在数据库中了。有时,您可能会在更改数据库架构、更改迁移文件时遇到这种情况,而 django 无法正确检测它并报告未检测到任何更改。您可能需要查看您的数据库来验证这一点。可能更简单的方法是创建新数据库并再次运行迁移。

婷婷同学_

我找到了答案:我所做的很好,但根据我的迁移文件,我遇到了问题。我删除了数据库并创建了一个新数据库,现在我工作正常。

白衣染霜花

将 null 和 blank 设置为 True 应该适用于您的情况。
随时随地看视频慕课网APP

相关分类

Python
我要回答