Я полагаю, что управление часовым поясом было добавлено к django 1.4, поэтому проблема довольно новая.
Я использовал простую модель
class Sample(models.Model):
...
date_generated = models.DateTimeField(auto_now_add = True)
Когда я пытаюсь восстановить вновь созданную запись, она терпит неудачу.
min_datetime = datetime.now() - timedelta(seconds = 300)
sample = Sample.objects.get(date_generated__gte = min_datetime)
и сервер выдает предупреждение.
DateTimeField received a naive datetime (2012-06-29 15:02:15.074000) while time zone support is active.
Я выяснил два решения этой проблемы.
-
Отключить управление часовым поясом в settings.py
USE_TZ = False
но это не всегда желательно.
-
изменения
date_generated = models.DateTimeField(auto_now_add = True)
к
date_generated = models.DateTimeField(default=datetime.now())
- это решение, которое поддерживает управление часовым поясом