Итерировать 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)
→ Ссылка