我試圖讓所有的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