Итерировать OrderedDict
У меня есть цикл, который добавляет значения в OrderedDict:
qs_catalog_items = SyTree.objects.filter(visible=True).order_by('parent_id', 'so')
od = OrderedDict()
for obj in qs_catalog_items:
if obj.parent_id in od:
od[obj.parent_id].items.append(obj)
else:
obj.items = []
od[obj.id] = obj
Подскажите, пожалуйста, как мне перебрать (и распечатать) его таким образом, чтобы в каждом элементе OD будет свойство типа list.
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
Перебирать так:
for k, v in od.items():
print(k, v)
Не уверен, что я правильно понял. Отпишитесь, пожалуйста, в комментарии.
Попробуйте так:
qs_catalog_items = SyTree.objects.filter(visible=True).order_by('parent_id', 'so')
od = OrderedDict()
for obj in qs_catalog_items:
if obj.parent_id not in od:
od[obj.parent_id] = []
od[obj.parent_id].append(obj)