Заполнение Django DateTimeField с фидпарсером - PullRequest
4 голосов
/ 09 июня 2011

Я пытаюсь прочитать календарь атлетики / занятий моей школы, доступный в формате iCal или RSS, в модель событий Django, используя feedparser.

Все работает, кроме дат. Feedparser заполняет item.updated_parsed "9-кортежем", но я не могу понять, как превратить это в то, что Django примет в DateTimeField. (Я использовал их раньше, но они когда-либо были заполнены только datetime.datetime.now ()).

Есть идеи?

Ответы [ 2 ]

8 голосов
/ 09 июня 2011

Преобразование объекта time.struct_time в объект datetime.datetime:

from time import mktime
from datetime import datetime
dt = datetime.fromtimestamp(mktime(item['updated_parsed']))
2 голосов
/ 09 июня 2011

Ну а поле Django DateTime принимает объекты python datetime.datetime , поэтому вам нужно преобразовать из того, что предоставляет Feedparser, и объект datetime.Это достаточно просто:

from datetime import datetime
time_object = datetime(nine_tuple[:8])

РЕДАКТИРОВАНИЕ: Как преобразовать объект Python time.struct_time в объект datetime?

...