Это не очень точный ответ на то, что я спросил: нет tree_id в этом утверждении! Поэтому идея правильна, чтобы выбрать узлы между левым и правым.

аемся получить всеdescendants(include_self=True) не для одного узла, а для списка (QuerySet) узлов. Это должен быть один 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 для запуска вместо этого? Здесь вы можете сделать предположение, что у меня есть список узлов ПК.

РЕДАКТИРОВАТЬ: Если это могло бы помочь - все мои "some_nodes" помещены в один и тот же родительский каталог и имеют одинаковый "уровень" в дереве.

Ответы на вопрос(3)

Ваш ответ на вопрос