Ниже приведен результат печати словаря, который я создаю с данными из db. Я пытаюсь показать его в html с порядком даты по возрастанию. Но когда я цикл в шаблоне, порядок неправильный? Я искал и попробовал orderdict, создал специальный фильтр ->Django, python Сортировка вложенного словаря по дате ключа
@register.filter(name='sort')
def listsort(value):
if isinstance(value, dict):
new_dict = SortedDict()
key_list = value.keys()
key_list.sort()
for key in key_list:
new_dict[key] = value[key]
return new_dict
elif isinstance(value, list):
new_list = list(value)
new_list.sort()
return new_list
else:
return value
listsort.is_safe = True
Не повезло! Ниже приведен словарь, который у меня есть:
{u'Berplatform': {'days': {datetime.date(2012, 10, 31): {'': None},
datetime.date(2012, 11, 9): {<Event: Opening Coctail>: <Event: Opening Coctail>,
'': None},
datetime.date(2012, 11, 10): {'': None},
datetime.date(2012, 11, 11): {'': None},
datetime.date(2012, 11, 13): {'': None},
datetime.date(2012, 11, 17): {'': None},
datetime.date(2012, 11, 18): {'': None},
datetime.date(2012, 11, 24): {<Event: Platform is in Art İstanbul>: <Event: amberPlatform is in Art İstanbul>,
'': None},
datetime.date(2013, 7, 2): {<Event: ber12 exhibition 2>: <Event: amber12 exhibition 2>,
'': None}}},
Почему просто не заказать его в QuerySet? –
Я заказываю в queryset, делая order_by ('begin_date') ... Как вы можете видеть, в печатном dict нет проблемы, но в шаблоне цикл неправильный. – ratata
Итак, как выглядит ваш шаблонный цикл? –