Я удалил все timezone-naive записи из моего Sqlite-DB. Так что теперь они остальные записи имеют DateField вроде этого:Не наивный часовой пояс при запросе django
2016-09-04 13: 28: 16 + 00
Когда я теперь запустить свой запрос так:
result = Feedentry.objects.filter(date_published__gt=timezone('Europe/Berlin').localize(datetime(2016, 8, 31, 17)))
Сначала я получаю нет ошибок, но как только я хочу, чтобы получить доступ к результату (или Len (результат)) Я получаю следующее сообщение об ошибке:
raise ValueError('Not naive datetime (tzinfo is already set)')
Любые идеи, как решить эту проблему или то, что я сделал не так?
Благодарим за быстрый ответ. Правильно ли, если я использую код выше для моего postgresql-DB, но для тестовой среды, мне нужно использовать функцию datetime.asttimezone(), чтобы использовать время в поле времени datetime наивно? Могу ли я попросить вас предоставить мне код, как это должно быть с вашей точки зрения? Спасибо!!! – Kev
@Kev: Чтобы действительно отследить ошибку, вы должны добавить полный ответ на свой вопрос. –
Спасибо, Кевин - мне это очень помогло. Теперь я заменил часовой пояс из столбцов в моей Sqlite-DB и работал как угодно (то же самое для моего Postgresql на моем сервере) – Kev