我应该如何在Django中按类别组织项目列表?

时间:2010-07-02 20:49:15

标签: python django templates loops

我有一个“类别”模型和一个“项目”模型,其中包含一个ForeignKey到“Category”。因此每个项目只能属于一个类别。

我想创建一个最终类似于以下内容的列表:

第1类
项目1 项目2

第2类
项目3
项目4

我认为以下的伪代码将起作用:

<ul class="category-list">
{% for c in category %}
    <li>{{ c.title }}</li>
    <ul class="project-list">
        {% for p in project WHERE CATEGORY = C %}
            <li>{{ p.title }}</li>
        {% endfor %}
    </ul>
{% endfor %}
</ul>

我遇到问题的部分是“WHERE CATEGORY = C”部分。我如何在Django模板代码中表达这个?

2 个答案:

答案 0 :(得分:3)

{% for p in c.project_set.all %}

在Django文档中查看following relationships backwards

答案 1 :(得分:2)

您可以使用重新组合代码http://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#regroup

来执行此操作