descendants(include_self=True)
1つのノードではなく、ノードのリスト(QuerySet)のすべてを取得しようとしています。これは1つのSQLクエリである必要があります。
例(実際には機能していません:)
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」はすべて同じ親ディレクトリに配置され、ツリー内で同じ「レベル」を持ちます。