我想在我的models.py文件中定义一个新字段。
案例1:
download_date = models.DateTimeField(verbose_name=_('download date'), null=True, default=None)
当对象保存到我的数据库中时,此字段应为None
或Blank
字段。
如果我像上面那样写我的字段,它将给出:
“下载日期”列中的空值违反了非空约束
案例2:
如果我添加blank = True
,则会遇到同样的问题
“下载日期”列中的空值违反了非空约束
我必须写什么才能得到一个空白/空字段?
谢谢
答案 0 :(得分:1)
设置null = True和blank = True是这样做的方法。
但是在您的情况下,您说您确实运行了迁移。因此,似乎非空约束已存在于数据库中。
有时候,当您更改数据库架构,对迁移文件进行更改并且django无法正确检测到它并且报告未检测到更改时,您可能会遇到这种情况。
您可能需要查看数据库以进行验证。
可能,更简单的方法是创建新数据库并再次运行迁移。
答案 1 :(得分:0)
我找到了答案:我所做的很好,但是根据我的迁移文件,我遇到了一个问题。我删除了数据库并创建了一个新数据库,现在我可以正常工作。
答案 2 :(得分:0)
在您的情况下,可以将null和blank设置为True应该可以。