抱歉没有问题。 假设我们有一个关系模型:
class Book(models.Model):
name = models.CharField(max_length=300)
category = models.ForeignKey(Category)
class Category(models.Model):
name = models.CharField(max_length=300)
是否有可能以某种方式对结果进行分组,因此在模板中我们可以得到类似的结果?
<ul>
{% for category in book_categories%}
<li>
{{category.name}}
<br/>
{% for book in category%}
{{book.name}} , {{book.author}}, etc...
{% endfor %}
</li>
{% endfor %}
</ul>
还是我让事情变得复杂,有更简单的方法来实现这样的html输出?
答案 0 :(得分:2)
将类别传递给您的模板,然后您就可以执行此类操作
<ul>
{% for category in categories %}
<li>
{{category.name}}
<br/>
{% for book in category.book_set.all %}
{{book.name}} , {{book.author}}, etc...
{% endfor %}
</li>
{% endfor %}
</ul>
答案 1 :(得分:1)
您只能加载按类别排序的图书,然后在模板中输入以下内容:
<ul>
{% for book in books %}
<li>
{% ifchanged book.category__name %}
{{ book.category__name }}
{% endifchanged %}
<br/>
{{book.name}} , {{book.author}}, etc...
</li>
{% endfor %}
</ul>