代码之家  ›  专栏  ›  技术社区  ›  kender

如何使用django orm获取所有对象及其子对象?

  •  0
  • kender  · 技术社区  · 16 年前

    我得到了非常简单的层次结构:每个对象都可以有0或1个父对象。每个对象可以有多少子对象是没有限制的。

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

    Object1 在它们的父树中(如在它们的父树或它们的父树等中)。

    mptt 还是有更简单的方法?

    2 回复  |  直到 16 年前
        1
  •  0
  •   maersu    16 年前

    mppt . 我喜欢。

    有很多有用的函数,比如instance.get\u祖先()或instance.get\u子对象()。 以及许多好的和完整的模板标签。

        2
  •  0
  •   rasca    16 年前

    如果你和 mptt docs

    您要查找的是在mptt中命名为get\u descendants()。

    小心使用svn trunk,因为上一个版本与Django 1.0及更高版本不兼容。希望这有帮助。