как предотвратить django, конвертировать дату в формат utc - PullRequest
3 голосов
/ 05 июля 2019

Я получаю свою дату с часовым поясом: «datetime»: «2019-07-04T17: 53: 06-05: 00», при выборе метода сохранения, но в моем bd oracle она сохраняется: «2019-07-04T22: 53: 06 ".

Я уже установил USE_TZ: False.

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 ]

1 голос
/ 05 июля 2019

Возможно, вы должны определить правильный TIME_ZONE в вашем файле Django settings.py.

Из Django Docs :

Поскольку Django был впервые выпущен с TIME_ZONE, установленным в «America / Chicago», глобальная настройка (используемая, если ничего не определено в settings.py вашего проекта) остается «America / Chicago» для обратной совместимости. Шаблоны новых проектов по умолчанию имеют значение «UTC».

, а также:

Когда USE_TZ имеет значение False, это часовой пояс, в котором Django будет хранить все даты.

Надеюсь, это поможет.

0 голосов
/ 05 июля 2019

После продолжения исследования я нашел решение, свойство 'TIME_ZONE' должно быть включено в свойства DATABASES в settings.py

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',
    },
}

Спасибо за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...