我在我的一个模特中添加了一个字段:
date_created= models.DateTimeField(auto_now=True)
当我跑manage.py migrate
时,它要求默认。我无法向模型添加默认值,因为default
与auto_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
提交的是字符串而不是日期时间对象,现在导致同样的问题。
我该如何解决这个问题?
答案 0 :(得分:1)
如果您要存储创建时间,请使用auto_now_add = True
date_created= models.DateTimeField(auto_now_add=True)