Попытка объединить списки с DateTimeField и объектом даты в Django - PullRequest
1 голос
/ 06 марта 2011

У меня есть 2 списка запросов Django с заголовком и Created_At DateTimeField (статьи и проекты), у меня есть еще один список, который является результатом функции python, которая возвращает строку Title и объект даты Create_At. * ​​1001 *

Я хочу связать эти списки вместе, чтобы я мог объединить их и отсортировать результаты по их полям Дата - однако в настоящий момент я получаю следующую ошибку:

can't compare datetime.datetime to tuple

Как мне объединить эти два списка? Код, вызывающий ошибку:

latest_changes = sorted(
    chain(articles, projects, tweets),
    key=lambda instance: instance.created)

ИЛИ Есть ли лучший способ сделать это вместо использования цепочки? В идеале я хотел бы создать новый список без необходимости совпадать с именами полей отдельных списков (я собираю совпадения цепочек, как и в именах).

Ответы [ 2 ]

0 голосов
/ 06 марта 2011

Я думаю, что tweets.created - это кортеж, а не объект Datetime.Вы можете использовать модуль dateutil для преобразования кортежа в правильный объект Datetime в python, а затем вы можете легко сравнить:)

0 голосов
/ 06 марта 2011

Судя по сообщению об ошибке, очевидно, instance.created - это кортеж для одной из ваших цепочек итераций.

Я предполагаю, что этот элемент является "результатом функции python, которая возвращает строковый объект Title и объект даты Create_At", о котором вы говорили, поскольку DateTimeField не возвращает кортеж.

Возвращает ли type(tweets[0].created) == tuple 1008 *?

...