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

Как получить все дерево категорий 1 родителя во вьюхе (django-mptt)?

avtotovary = Category.objects._mptt_filter(parent__slug='avtotovary-0')

Делал вот так, но я получают только 1 уровень дочерних категорий, а надо всю глубину, чтобы товары повытаскивать впоследствии.
  • Вопрос задан
  • 556 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Разработка на Python
    1 год
    Далее
Решения вопроса 1
@vikholodov Автор вопроса
.get_descendants(include_self=False)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
Получить корневые категории можно так:
roots = Category.objects.filter(parent__isnull=True)

Получить всех потомков какой-либо категории так:
categories = category.get_descendants(include_self=False)

Но получать категории не нужно, чтобы получить товары всех категорий, кроме корневых. Проще всего получить их так:
goods = Goods.objects.filter(category__parent__isnull=False)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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