我有表,看起來像這樣:試圖拿出一個遞歸函數來展開樹在Python
id | parentid | name
---------------------
1 | 0 | parent1
---------------------
2 | 0 | parent2
---------------------
3 | 1 | child1
---------------------
4 | 3 | subchild1
現在我試圖拿出一個有效的方式來採取數據庫中的數據和創建一個Python字典。
基本上,我希望能夠做到:
tree = expand(Session.query(mytable).all())
print tree['parent2']['child2']
# result would be 'subchild1'
我在與如何做到這一點完全喪失......我一直在用下面的函數亂搞,但我可以」讓它工作。任何幫助,將不勝感激。
def expand(tree):
parents = [i for i in tree if i.parentid == 0]
for parent in parents:
children = expand(parent)
它沒有解決你的Python問題,但你可能會發現這個有趣的:http://dev.mysql.com/tech-resources/articles/hierarchical-data.html。 – FMc 2010-08-12 13:20:11