我是Django的新手。这是我遇到的问题。
models.py:
created_time = models.DateTimeField('Created Time', auto_now_add=True)
当我迁移时:
然后,我添加默认值:
created_time = models.DateTimeField('Created Time', auto_now_add=True, default=timezone.now)
我再次迁移它:
那么,有人可以告诉我如何使用DateTimeField和auto_now_add = True吗?
答案 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
)。