Python 由于收到本机DateTime,Django运行时警告。如何解决?

Python 由于收到本机DateTime,Django运行时警告。如何解决?,python,django,datetime,django-models,Python,Django,Datetime,Django Models,在my settings.py中,时区设置为“UTC” 在我的一个模型中,我从一个以utc格式返回时间的外部API导入创建的_on字段。对于eg:1515374422.0,要将其转换为日期时间格式,我使用: created_on=datetime.datetime.fromtimestamp(float(1515374422.0)) post=Post(name="ABC", created_on=created_on) 但运行时始终会出现以下运行时警告: RuntimeWarning:Dat

在my settings.py中,时区设置为“UTC”

在我的一个模型中,我从一个以utc格式返回时间的外部API导入创建的_on字段。对于eg:1515374422.0,要将其转换为日期时间格式,我使用:

created_on=datetime.datetime.fromtimestamp(float(1515374422.0))
post=Post(name="ABC", created_on=created_on)
但运行时始终会出现以下运行时警告:

RuntimeWarning:DateTimeField Image.added\u在接收到原始日期时 2017-12-14 14:48:22时区支持处于活动状态时


我不明白。这是什么意思?DateTime转换代码有问题吗?

简而言之,django orm希望所有DateTime对象都设置了时区。对于您的代码,因为您知道时区是UTC,所以只需执行以下操作:

import pytz
created_on=datetime.datetime.fromtimestamp(float(1515374422.0))
created_on = created_on.replace(tzinfo=pytz.utc)
post=Post(name="ABC", created_on=created_on)

附加的行将添加在上创建的时区信息,以便您明确要求使用UTC的日期时间。

Perfect。成功了。我以为tzinfo会根据我的时区设置默认添加进去。。