2016-08-03 108 views
0

我是Django的新手。这是我遇到的问题。Django,DateTimeField(auto_now_add = True)不起作用

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?

回答

0

正如错误所述,您不能设置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)。