Сделал так :
mylist =[{'id': '1', 'name': 'Title1', 'id_parent': '0'}, {'id': '2', 'name': 'title2', 'id_parent':
'1'}, {'id': '3', 'name': 'title3', 'id_parent': '1'}, {'id': '4', 'name': 'Title4', 'id_parent': '0'},
{'id': '5', 'name': 'title5', 'id_parent': '4'}]
def get_parent(id_parent):
c = []
for x in mylist:
if not x["id"] == id_parent and x["id_parent"] == id_parent:
if x["id_parent"] == "0":
x['expanded'] = True
else:
x['leaf'] = True
c.append(x)
return(c)
def get_tree(t, n=0):
list = []
for x in get_parent(t):
all_stor = {}
all_stor["text"] = x['name']
all_stor["id"] = x['id']
if(x.get('expanded')):
all_stor["expanded"] = x['expanded']
else:
all_stor["leaf"] = x['leaf']
get_tree(x["id"], n+1)
list.append(all_stor)
return(list)
main = get_tree("0")
print(main)
Но в main возвращаются только родительские значения словарей.
[{'id_parent': '0', 'id': '1', 'expanded': True, 'name': 'Title1'}, {'id_parent': '0', 'id': '4', 'expanded': True, 'name': 'Title4'}]
Как мне получить все словари что бы их обрабатывать и заполнять списки необходимого формата?
Сразу же в функции get_tree у меня не получается строить списки.