我DateTimeField received a naive datetime while time zone support is active
遇到了一个扭曲的经典警告。当我运行使用由factory_boy
. 这是一个工厂的例子:
from django.utils.timezone import now
import factory
class PostFactory(factory.DjangoModelFactory):
FACTORY_FOR = models.Post
value = 42
created = now()
如您所见,我正在使用来自 Django 时区的 now() 方法,它应该处理整个简单的 datetime 事情,但事实并非如此。这是模型的样子:
class Post(models.Model)
value = models.IntegerField()
created = models.DateTimeField(auto_now_add=True)
另外,在我的 settings.py 文件中,我设置了USE_TZ = True
.
我已经尝试安装pytz
和使用它的库来创建一个日期时间对象来填充工厂中的字段,但这也不起作用。
我知道我可以抑制警告,但它已经开始在代码的其他区域咬我,我想深入了解它。. .