我使用 django-mptt 来表示我的分层数据。为了从数据库表中获取数据,我使用了模板中的以下代码。
{% load mptt_tags %}
{% recursetree nodes %}
{{ node.name }}
{% endrecursetree %}
现在我想按 id 过滤孩子,我只需要一个直接孩子显示在我的模板中。我怎样才能从我的模板中做到这一点?
我使用 django-mptt 来表示我的分层数据。为了从数据库表中获取数据,我使用了模板中的以下代码。
{% load mptt_tags %}
{% recursetree nodes %}
{{ node.name }}
{% endrecursetree %}
现在我想按 id 过滤孩子,我只需要一个直接孩子显示在我的模板中。我怎样才能从我的模板中做到这一点?
level
property 和get_previous_sibling可用于实现此目的:
{% load mptt_tags %}
{% recursetree nodes %}
{% if node.level == 0 %}
{# first level #}
{{ node.name }}
{% elif not node.get_previous_sibling %}
{# first child #}
{{ node.name }}
{% endif %}
{{ children}}
{% endrecursetree %}
请注意,get_previous_sibling
调用将触发数据库查询。