django-mptt 得到完整的树过滤

时间:2021-04-17 20:12:15

标签: django django-mptt

刚接触 django 并坚持从 django-mptt 获取带有过滤器的完整树。找不到与我想要实现的目标相关的任何内容。我创建了 context_proccessor.py 并将此代码放置在我的多级菜单的每个页面上。

from .models import TopMenu

    def get_top_menu(request):
        top_menu = TopMenu.objects.filter(active=True).order_by('tree_id')
        return {
            'top_menu': top_menu
        }

在模板中我使用这个:

<ul>
    {% recursetree top_menu %}
        <li>
            <a href="{{ node.slug }}/">{{ node.title }}</a>
            {% if not node.is_leaf_node %}
                <ul class="children">
                    {{ children }}
                </ul>
            {% endif %}
        </li>
    {% endrecursetree %}
</ul>

结果是我只得到根级别和子级。不是整棵树。 只有当我请求 TopMenu.objects.all() 时,我才能得到整个树。但这不是我想要的。我想要过滤的全树。如何实现这一目标?

0 个答案:

没有答案
相关问题