django-mptt get_descendants для списка узлов

Я пытаюсь получить всех потомков (include_self = True) не для одного Node, но для списка (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 запускать вместо этого? Здесь вы можете предположить, что у меня есть список Node's pk.

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

14
задан Serjik 19 December 2015 в 11:28
поделиться