Преобразование Python UTC Datetime в локальный часовой пояс перед выполнением фильтра django __date
Я пытаюсь преобразовать дату utc в локальный часовой пояс для фильтрации совпадающих дат.
Если я передал дату, например 2022-05-26, и хочу найти все записи с временем в этот день, то время, такое как '2022-05-27T22:00:00.000z', будет исключено... даже если это время будет 2022-05-26 в местном часовом поясе.
Ранее я осуществлял фильтрацию с помощью
queryset = Event.objects.filter(time__date=time)
и пытаюсь сделать что-то вроде:
queryset = Event.objects.filter(time.replace(tzinfo=timezone.utc).astimezone(tz=None)__date=time)
как бы то ни было, это неверный синтаксис, но, надеюсь, вы поняли суть... Спасибо!
Вам необходимо добавить следующие строки в настройки:
USE_TZ = True
TIME_ZONE = 'DESIRED/TIMEZONE'
При выполнении любых действий с данными (фильтрация, получение...) данные будут находиться в желаемом часовом поясе.