Задать вопрос

Как получить дочерние элементы MPTTModel уровня n в django?

Строю дерево в django, подключил mptt. Задача следующая: получить всех детей на уровне n своего поддерева (внуков-правнуков). get_children().all(), как я понял, возвращает детей первого уровня. Также нужны деды-прадеды. Я использую self.parent.parent.parent..., но подозреваю, что есть более лаконичный способ добиться результата. Нужены именно инстансы/массивы инстансов класса TreeNode
class TreeNode(MPTTModel):
    parent = TreeForeignKey('self', null=True, blank=True, related_name='child')
    ...
  • Вопрос задан
  • 4089 просмотров
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
  • Яндекс Практикум
    Мидл Python-разработчик
    6 месяцев
    Далее
Решения вопроса 1
Masik
@Masik
Программирую понемногу
Выбрать среди детей
node.get_descendants().filter(level=n)
Выбрать среди родителей
node.get_ancestors().filter(level=n)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы