Мой мобильный клиент отправляет неточную информацию о смещении даты и времени. Например:
2019-05-03T17:55:12-0700
Время на самом деле является правильным временем UTC, однако смещение должно быть равно -0000
.
В настоящее время я не могу изменить клиента, чтобы устранить проблему, вызвавшую это. Поэтому мне нужно выбросить смещение или изменить его на -0000
.
В приведенном выше примере для этого пользователя, для которого в качестве настройки часового пояса для аккаунта установлено значение PST, он сохраняет дату в validated_data
как datetime.datetime(2019, 5, 4, 0, 55, 12, tzinfo=<UTC>)
Если бы информация о времени и смещении на основе клиента была синхронизирована, это преобразование с помощью DRF было бы правильным, так как это семь часов перерыва или PST + текущее DST. (Западное побережье США в настоящее время -7: 00 UTC)
Проблема в том, что к тому времени, когда я достигну своего класса ModelSerializer, validated_data
уже содержит то, что, по мнению DRF, теперь является правильным временем UTC.
Где находится подходящее место для изменения этого поля в теле POST, чтобы к моменту, когда DRF попытался создать DateTime, он построил правильную временную метку?