Использую django-mptt и хочу сделать выпадающий список , но дальше второго уровня вложенности не идёт, как можно исправить?

Использую bootstrap и django mptt.Если просто выводить данные через рекурсию, то выводится всё отлично введите сюда описание изображения

Но мне нужно выпадающее меню. И в таком случае, уровень вложенности не идёт дальше второго уровня. введите сюда описание изображения

То есть если нажать на Европу, то уже ничего открываться не будет. Помогите пожалуйста решить проблему, как сделать так, что бы выпадающее меню шло до конца? Вот код из шаблона

{% load mptt_tags %}
<ul class="nav">
    {% recursetree rubrics %}
        <li class="nav-item dropright">
             <a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-expanded="false">{{node.name}}</a>
            {% if not node.is_leaf_node %}
            <ul class="dropdown-menu">
                <li><a class="dropdown-item" href="#">{{children}}</a></li>
            </ul>
            {% endif %}
        </li>
    {% endrecursetree %}
</ul>

Вот код из views

def test(request):
    return render(request, 'testapp/test.html' , {'rubrics': Rubric.objects.all()})

Вот модель

class Rubric(MPTTModel):
    name = models.CharField(max_length=50, unique=True)
    parent = TreeForeignKey('self', on_delete=models.CASCADE, null=True, blank=True, related_name='children')

    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return reverse('rubric', kwargs={'pk': self.pk})

    class MPTTMeta:
        order_insertion_by = ['name']

Если вы знаете какое-то другое решение для выпадающего меню, не через рекурсию, буду очень благодарен, если вы поможете


Ответы (0 шт):