Это не очень точный ответ на то, что я спросил: нет 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" помещены в один и тот же родительский каталог и имеют одинаковый "уровень" в дереве.