2016-04-26 3 views
1

Я пытаюсь установить DateTimeField для одной из моих моделей django. Мой код выглядит следующим образом:RuntimeWarning: DateTimeField получил наивное datetime в django

dt = datetime.fromtimestamp(mktime(parsed_feed.updated_parsed)) 
feed.updated = dt 

updated_parsed является структура в формате:

time.struct_time(tm_year=2016, tm_mon=4, tm_mday=26, tm_hour=8, tm_min=20, tm_sec=43, tm_wday=1, tm_yday=117, tm_isdst=0) 

и обновляется, очевидно, Джанго DateTimeField. Я пытаюсь преобразовать структуру в объект datetime, а затем установить ее в свое поле. Все прекрасно работает, и правильная дата и время устанавливаются, однако, я получаю эту ошибку (предупреждение) в моей консоли:

RuntimeWarning: DateTimeField Feed.updated received a naive datetime (2016-04-26 08:25:08) while time zone support is active. 
    RuntimeWarning) 

Как интегрировать поддержку временных зон в объект даты и времени (DT)?

ответ

1

Как объяснен в this answer:

Следующая строка создает наивный (не часовой пояс осведомленный) DateTime:

creationDate = datetime.datetime.now() 

Попробуйте изменить эту строку на:

creationDate = timezone.now() 

Не забудьте импортировать часовой пояс в начале кода:

from django.utils import timezone 
Смежные вопросы