Python 当时区支持处于活动状态时,对象收到原始日期时间(…)
我一直在寻找答案,但运气不好。 我正在创建一个名为accessdate的属性为 当我创建对象时,我会收到下一个警告Python 当时区支持处于活动状态时,对象收到原始日期时间(…),python,django,datetime,Python,Django,Datetime,我一直在寻找答案,但运气不好。 我正在创建一个名为accessdate的属性为 当我创建对象时,我会收到下一个警告 RuntimeWarning: DateTimeField Consumption.addedtime received a naive datetime (2020-06-01 13:07:47.222534) while time zone support is active 问题是,对象接收到的不是一个简单的日期时间,因为它的tzinfo中充满了欧洲/马德里时区 以下是我
RuntimeWarning: DateTimeField Consumption.addedtime received a naive datetime (2020-06-01 13:07:47.222534)
while time zone support is active
问题是,对象接收到的不是一个简单的日期时间,因为它的tzinfo中充满了欧洲/马德里时区
以下是我正在使用的相关导入:
import datetime
from django.utils.timezone import make_aware
以下是我创建datetime变量的方式:
date_object = datetime.datetime.strptime(data_from_request['FECHA ACTIVACION'], '%d/%m/%Y')
# data_from_request['FECHA ACTIVACION'] = '01/01/2020'
access_date = make_aware(date_object)
这就是模型:
class Consumption(models.Model):
"""Definición del modelo de Consumos"""
...
accessdate = models.DateField("Fecha de acceso", auto_now=False, auto_now_add=False)
...
这就是我创建对象的方式
consumption = Consumption.objects.create(
client=client,
rule=rule,
course=course,
provider=provider,
usercode=data_from_request['CODIGO USUARIO'],
username=data_from_request['NOMBRE USUARIO'],
accessdate=access_date,
billable=data_from_request['FACTURABLE'],
status=data_from_request['VALIDADO']
)
这怎么可能?我正在调试我的代码,当我检查access_date变量内容时,我可以看到tzinfo已填充
为什么我仍然收到这个警告?
谢谢你们 所以您的消费模式可能看起来很像:
class Consumption(models.Model):
...
accessdate = models.DateField("Fecha de acceso", auto_now=False, auto_now_add=False)
....
addedtime = models.DateTimeField(default=datetime.now()) # this is not timezone aware
换成
class Consumption(models.Model):
...
accessdate = models.DateField("Fecha de acceso", auto_now=False, auto_now_add=False)
....
addedtime = models.DateTimeField(auto_now_add=True)
仔细阅读您的错误消息!它不是说accessdate,而是说属性addedtime,它可能有一些不好的默认值
在addedtime中了解更多信息收到一个简单的非accessdate您可以在问题的模型中添加addedtime吗?不,这是我声明属性的方式:accessdate=models.DateFieldFecha de acceso,auto_now=False,auto_now\u add=False我将更新问题,也许这会有所帮助。非常感谢。但是看看他说的:这是关于加时的。添加时间!=accessdate。我已编辑我的答案以反映addedtime!=访问日期问题更精确。但答案仍然成立。如果不是,我们需要看看代码的一部分,在那里你们设置了消费的addedtime属性。伙计们,你们说得太对了!我错了。对不起,我以为错误发生在访问日期。非常感谢你。