Django DateTimeField 设置为 blank=True,null=True 但不允许为 null
我在我的一个Django模型里有一个日期时间字段(DateTimeField)。
completed_date = models.DateTimeField('date completed', blank=True, null=True)
我已经设置这个字段可以为空和允许空值。但是,当我尝试创建这个模型的一个实例时,出现了以下错误:
在 /admin/tasks/project/add/ 发生了完整性错误(IntegrityError)
tasks_project.completed_date 不能是 NULL
我使用的是Django 1.25和Python 2.7。有人知道为什么会这样吗?我能做些什么来解决这个问题吗?
我找到了一条关于同样问题的记录,但它在四年前就被关闭了,说明这个问题应该已经在Django里修复了吧!
1 个回答
10
来自那个问题/回答:
Django 默认不支持数据库迁移。不过,有一个可以添加到 Django 的插件,它正好可以实现这个功能,而且效果很好。这个插件叫做 South。
我有一段时间没用 Django 了,但我记得 syncdb 确实会对数据库表执行一些修改命令。你需要先删除表,然后再运行一次,它就会重新创建这个表。