【发布时间】:2020-09-19 17:09:03
【问题描述】:
我一直在寻找这个问题的答案,但没有成功。 我正在创建一个具有名为“accessdate”的属性的对象
当我创建对象时,我会收到下一个警告
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
这就是我创建日期时间变量的方式:
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 已填充
为什么我仍然收到此警告? 谢谢你们!
【问题讨论】:
-
addedtime 收到一个天真的未访问日期
-
您可以在问题的模型中添加
addedtime吗?