我一整天都在想办法解决这个问题,我真是束手无策。也许我只是因为这个老了。在
我正在尝试为django treebeard上的load\u bulk特性构建一个树,如指定的here
你应该看起来像这样:
data = [{'data':{'desc':'1'}},
{'data':{'desc':'2'}, 'children':[
{'data':{'desc':'21'}},
{'data':{'desc':'22'}},
{'data':{'desc':'23'}, 'children':[
{'data':{'desc':'231'}},
]},
{'data':{'desc':'24'}},
]},
{'data':{'desc':'3'}},
{'data':{'desc':'4'}, 'children':[
{'data':{'desc':'41'}},
]},
]
“data”保存记录,如果它有子项,“children”是更多“data”dict的列表(也可以递归地包含子项列表等)
我以有序列表的形式获取数据(按深度优先排序,而不是按id排序):
例如:
^{pr2}$我如何将它转换为一个符合树的字典,它看起来像这样(排字错误除外):
[
{'data': {'id': 232, 'name': 'jon', 'parent': 'None'},
'children': [
{'data': {'id': 3522, 'name': 'dave', 'parent': '232'},
'children': [
{'data': {'id': 2277, 'name': 'alice', 'parent': '3522'}}
]
}
{'data': {'id': 119, 'name': 'gary', 'parent': '232'},
'children': [
{'id': 888, 'name': 'gunthe', 'parent': '119'}
]
}
]
{'data': {'id': 750, 'name': 'beavis', 'parent': 'None'},
'children': [
{'id': 555, 'name': 'urte', 'parent': '750'}
]
}
]
我想我需要某种递归函数,因为它是递归结构,但我所有的尝试都失败了。我的大脑不擅长递归。在
我做了大量的搜索,找到了大多数与列表或其他结构有关的解决方案,而这些都是我无法塑造的。我是个亲戚。ps我手工打印这个例子比我今天剩下的时间(除了晚餐时间)更有乐趣。在
也许有更好的方法,但有一个解决方案:
相关问题 更多 >
编程相关推荐