为什么Django没有在模板中识别出这一点

时间:2012-06-18 15:45:15

标签: python django

如果父级等于1,我想显示我的顶级类别。 topcats是一个包含类别项的查询集。但是,下面出演的代码无效。它找不到catparent = 1项。知道为什么吗?

{% for cat in topcats %}
    **{% if cat.parent == 1 %}**
        <a href ="/x/{{cat.id}}/dir/"><h3>{{ cat.category }}</a></h3>
            {% for each in topcats %}
                 {% if each.parent == cat.id %}
                    <h5>{{ each }}</h5>
                 {% endif %}
            {% endfor %}
    {% endif %}
{% endfor %}

注意: parent是数据库中的TreeForeignKey

1 个答案:

答案 0 :(得分:3)

我说cat.parentmodel object

这应该适合你:

{% if cat.parent.pk == 1 %}

然而,这是非常hackish,因为父节点的id不一定具有值1is_root_node()方法是一种更好的方法:

{% if cat.parent.is_root_node %}