Django:默认的日期时间值导致噪声测试

时间:2015-09-13 06:21:05

标签: python django django-models django-migrations

我在我的一个模特中添加了一个字段:

date_created= models.DateTimeField(auto_now=True)

当我跑manage.py migrate时,它要求默认。我无法向模型添加默认值,因为defaultauto_now=True互斥。它不会允许我。

所以我打了一个快速的默认字符串:"12-12-2015"并继续前进。

然而,每次我运行测试时都会出现一个丑陋的错误:

RuntimeWarning: DateTimeField BusinessAccount.date_created received a naive datetime (2015-09-13 02:14:32.898795) while time zone support is active.

我已经更改了模型:

date_created= models.DateTimeField(default=datetime.now)

但错误仍然存​​在。我尝试在我添加原始值的地方挤压迁移,但它似乎没有做任何事情。

编辑:仔细观察输出,似乎datetime.now提交的是字符串而不是日期时间对象,现在导致同样的问题。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果您要存储创建时间,请使用auto_now_add = True

date_created= models.DateTimeField(auto_now_add=True)