Django-mptt从django模板过滤子

时间:2013-05-14 04:54:16

标签: django django-templates django-mptt django-filter

我用django-mptt来表示我的分层数据。为了从数据库表中获取数据,我使用了模板中的以下代码。

{% load mptt_tags %}
{% recursetree nodes %} 
{{ node.name }}
{% endrecursetree %} 

现在我想根据ID过滤孩子,我需要只有一个直接孩子才能在我的模板中显示。我可以从我的模板中执行此操作吗?

1 个答案:

答案 0 :(得分:3)

level属性和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调用将触发数据库查询。