При создании запроса в бд по дате, джанго переводит в локальное время

Если создаёшь запрос по дате, например:

MyModel.objects.filter(my_datetime_field__date=utc_today)

Джанга локализует время, и находит данные не с 00:00, а с 21:00 вчерашней даты. Как изменить это поведение? Желательно для одного этого запроса. Нужно чтобы находил данные именно за текущие сутки по gmt.

ПС: Использую postgresql


Ответы (2 шт):

Автор решения: Andrey Maslov

Если utc_today это datetime, то должно помочь utc_today.utcnow()

→ Ссылка
Автор решения: inzem77

Скорее всего данные в БД хранятся с timezone. Подробнее https://docs.djangoproject.com/en/3.1/topics/i18n/timezones/ Если только для этого запрос, то можно так

from datetime import timedelta
MyModel.objects.filter(my_datetime_field__date=utc_today-timedelta(hours=3))
→ Ссылка