我试图让所有的descendants(include_self=True)
不是一个 节点,而是一个节点的列表(QuerySet)。这应该是一个SQL 查询。django-mptt get_descendants节点列表
实例(我现在所拥有的,实际上是不工作:)
some_nodes = Node.objects.filter(...some_condition...)
some_nodes.get_descendants(include_self=True) #hopefully I would like
to have all possible Nodes starting from every node of "some_nodes"
唯一的想法就是通过为每个节点some_nodes和 运行get_descendants()迭代 - 但是这是很可怕的解决方案 (充足的SQL查询)。
如果没有干净的方式通过Django ORM来完成它,那么您可以提供一个自定义的 SQL来运行吗?在这里,您可以假设我有一个 节点的pk列表。
编辑:如果这可以帮助 - 我所有的“some_nodes”被放置在同一个父目录,并在树中具有相同的“级别”。
这太棒了!我认为它应该'Node.objects'而不是'Node.tree',尽管 – Cory 2016-01-12 21:12:58
实际上这是现在内置到管理器中的。看到我的替代答案。 – Cory 2016-01-13 18:53:36