2010-05-05 81 views
0

我得到了非常简单的层次结构:每个对象可以有0或1个父项。每个对象可以有多少个孩子没有限制。如何使用django orm获取所有对象与他们的孩子?

所以在我的应用我有这样一个模型:

class O(Model): 
    name = CharField(max_length = 20) 
    parent = ForeignKey('O', related_name = 'children') 

现在我想能够取谁在他们的父树一个特定Object1所有对象(如父母或父母他们的父母等)。

我应该使用mptt还是有更简单的方法?

回答

0

是的,我建议使用mppt。我喜欢。

有很多有用的函数,如instance.get_ancestors()或instance.get_children()。 还有很多很好用的模板标签。

0

如果你去与mptt我建议先阅读docs。这是一个很好的实现,在这种情况下它将是最简单的。

您正在寻找的是以mptt命名的get_descendants()。

要小心并使用svn trunk,因为上一版本与Django 1.0及以后版本不兼容。希望这可以帮助。

相关问题