Django: объект DateTimeQuery не имеет атрибута tzinfo, когда USE_TZ имеет значение True

Я использую 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.


person zaphod100.10    schedule 10.01.2014    source источник


Ответы (1)


Обновление до версии 1.6.1 или более поздней решает проблему. Получил ответ от группы google пользователей django.

person zaphod100.10    schedule 14.01.2014