Django ListView具有分页和分组功能

时间:2014-10-05 09:30:15

标签: python django django-templates django-views django-orm

假设我有2个模型:艺术家相册(相册与艺术家有外键关系)。 ..现在我想使用分页ListView显示所有专辑,但我想显示按艺术家分组的专辑。我知道django提供了一个强大的标签:regroup ...但是如果我对结果进行分页,我当然无法使用它,因为某些艺术家专辑可能尚未从数据库中检索到...所以我的问题是:如何使用Django的ORM实现这一目标?

目标是打印如下内容:

Artist 1
- album 1
- album 2
- album 3

Artist 2
- album 1
- album 2

...

1 个答案:

答案 0 :(得分:2)

在模板中,您可以获取该艺术家的相关相册:

<ul>
{% for artist in object_list %}
   <li> {{ artist }}
   <ul>
   {% for album in artist.album_set.all %}
       <li>{{ album }}</li>
   {% endfor %}
   </ul>
   </li>
{% endfor %}
</ul>