Использую модуль django MPTT, при указании фильтра выводит записи только текущего уровня дерева, если у текущего узла дерева есть дочерние узлы у которых есть записи, то он их не выводит.
class Section(MPTTModel):
section_text = models.CharField(verbose_name='Название раздела', max_length=100)
parent = TreeForeignKey(verbose_name='Родительский Раздел', to='self', null=True, blank=True, related_name='children')
class Question(models.Model):
section = models.ForeignKey(Section,verbose_name='Родительский раздел')
question_text = HTMLField(verbose_name='Описание вопроса')
admin.py
class QuestionAdmin(admin.ModelAdmin):
list_filter =(
('section', TreeRelatedFieldListFilter),
)
Например имеется такое дерево
К узлу уровня 3 привязаны записи из Question, если выбрать узлы уровня 1 или 2, то записи узла 3 не выводятся, если выбрать уровень 3 то записи отображаются, т.е. отображаются записи только текущего узла, если у текущего узла есть дочерние узлы уровня ниже, то записи принадлежащие им не отображаются.