Я использую postgres в качестве базы данных. У меня есть модель под названием Invoice с полем datetime. Я получаю сообщение об ошибке при выполнении запроса:
Invoice.objects.datetimes('date_field','day')
Ошибка:
AttributeError: 'DateTimeQuery' object has no attribute 'tzinfo'
Это происходит, когда для параметра USE_TZ установлено значение True в моем файле настроек.
Запросу datetimes требуется объект tzinfo, и если его нет, используется объект tzinfo по умолчанию, который является utc. Я попытался импортировать объект utc tzinfo из django.utils.timezone и использовал его в запросе следующим образом:
from django.utils.timezone import utc
Invoice.objects.datetimes('date_field','day', tzinfo=utc)
Даже тогда я получаю ту же ошибку.
Я прочитал документацию по django docs о запросе даты и времени, и в ней говорится, что при использовании postgres pytz не требуется. Но я все равно установил pytz и попытался снова, но все равно получил ошибку.
Когда я устанавливаю для USE_TZ значение false, запрос выполняется нормально и ошибок нет.
Я нашел этот билет на веб-сайте django, который сообщает об этой ошибке, но я не знаю, как использовать патч, о котором он говорит.
https://code.djangoproject.com/ticket/21432
Может кто-нибудь подскажет, как запустить запрос без ошибок с USE_TZ = True.