如何防止Django,将日期转换为UTC格式

时间:2019-07-05 16:40:27

标签: python oracle django-rest-framework

我得到的时区为“ datetime”:“ 2019-07-04T17:53:06-05:0 00”,选择保存方法时,但在我的bd oracle中将其保存: “ 2019-07-04T22:53:06”。

我已经设置了USE_TZ:否。

serializer = self.serializer_class(data=json_data)
if serializer.is_valid():
pas_documento_guardado = serializer.save(usuario=usuario, tercero=tercero)

我希望将其保存在数据库中:“ datetime”:“ 2019-07-04T17:53:06”,

2 个答案:

答案 0 :(得分:1)

可能您必须在Django TIME_ZONE文件中定义正确的settings.py

来自Django Docs

  

自Django首次发布以来,其TIME_ZONE设置为'America / Chicago',因此全局设置(如果您的项目的settings.py中未定义任何内容,则使用该设置)仍然是'America / Chicago',以实现向后兼容。新项目模板默认为“ UTC”。

还有:

  

当USE_TZ为False时,这是Django将存储所有日期时间的时区。

希望有帮助。

答案 1 :(得分:0)

在继续研究之后,我找到了解决方案,必须在settings.py的DATABASES属性中包含属性“ TIME_ZONE”

DATABASES = {
'legacy': {
    'ENGINE': 'django.db.backends.mysql',
    'OPTIONS': {
        'read_default_file': '....cnf',
    },
    'TIME_ZONE': 'America/Bogota',
},
'default' : {
    'ENGINE': 'django.db.backends.mysql',
    'OPTIONS': {
        'read_default_file': '....cnf',
    },
}

感谢您的帮助。

相关问题