Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 当时区支持处于活动状态时,对象收到原始日期时间(…)_Python_Django_Datetime - Fatal编程技术网

Python 当时区支持处于活动状态时,对象收到原始日期时间(…)

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中充满了欧洲/马德里时区 以下是我

我一直在寻找答案,但运气不好。 我正在创建一个名为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
以下是我创建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属性。伙计们,你们说得太对了!我错了。对不起,我以为错误发生在访问日期。非常感谢你。