我有表,看起来像这样:试图拿出一个递归函数来展开树在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