Django,DateTimeField(auto_now_add = True)无效

时间:2016-08-03 14:41:43

标签: django

我是Django的新手。这是我遇到的问题。

models.py: created_time = models.DateTimeField('Created Time', auto_now_add=True) 当我迁移时: migrations error

然后,我添加默认值: created_time = models.DateTimeField('Created Time', auto_now_add=True, default=timezone.now) 我再次迁移它: migrations error2

那么,有人可以告诉我如何使用DateTimeField和auto_now_add = True吗?

1 个答案:

答案 0 :(得分:3)

如错误所示,您无法设置auto_now_add=True并同时指定默认值。

问题是Django需要知道数据库中现有条目的值。

您可以设置null=True,然后该值将保留为None

created_time = models.DateTimeField('Created Time', auto_now_add=True, null=True)

或者,只需删除默认值,然后再次运行makemigrations。

created_time = models.DateTimeField('Created Time', auto_now_add=True)

当Django提示您时,选择选项1),并指定默认值(例如timezone.now)。