我有一个模型(以及基于它的模型形式),它有几个时间字段。我希望这些字段是可选的,以便用户可以留空。我的问题是当我尝试保存其中一个或多个这些字段为空的实例时,我继续收到“列'mechreturn_tm'不能为空”错误。我使用了以下方法:
mechreturn_tm = models.TimeField(blank=True, null=False)
mechreturn_tm = models.TimeField(blank=True, null=True)
mechreturn_tm = models.TimeField()
似乎都没有用。我做错了什么?
答案 0 :(得分:1)
您确定使用第二种方法(空白和空值设置为True
)仍然会收到错误吗?
请记住,进行此更改时需要重新创建数据库表,因为syncdb不会更改现有表。这可能就是为什么即使使用正确的代码也会出现错误的原因。
在模型字段上设置blank=True
表示在使用该字段验证表单时允许该字段为空。
设置null=True
意味着可以将模型保存到数据库,而对该字段完全没有任何价值。
http://docs.djangoproject.com/en/dev/topics/db/models/#field-options