regroup 模板标签
实例
为每个品牌显示所有带有新标题的汽车:
{% regroup cars by brand as newlist %}
{% for x in newlist %}
<h1>{{ x.grouper }}</h1>
{% for y in x.list %}
<p>{{ y.model }}: {{ y.year }}</p>
{% endfor %}
{% endfor %}
Run Example »
定义和用法
regroup
标签返回一个按指定值分组的新对象。
结果为每一组分成一个 GroupedResult
对象,使上面示例中的 newlist
对象看起来像这样:
实例
{% 将汽车按品牌重新组合为 newlist %}
的结果:
[
GroupedResult(
grouper='Ford',
list=[
{
'brand': 'Ford',
'model': 'Mustang',
'year': '1964'
},
{
'brand': 'Ford',
'model': 'Bronco',
'year': '1970'
},
{
'brand': 'Ford',
'model': 'Sierra',
'year': '1981'
}
]
),
GroupedResult(
grouper='Volvo',
list=[
{
'brand': 'Volvo',
'model': 'XC90',
'year': '2016'
},
{
'brand': 'Volvo',
'model': 'P1800',
'year': '1964'
}
]
)
]
注意:在重新分组之前确保对象排序正确,否则您将得到具有相同 grouper
名称的组。< /p>
语法
{% regroup object by object.property as newname %}
参数
值 | 描述说明 |
---|---|
object | 必须。 您要重新组合的列表或对象 |
object.property | 必须。 您要分组的属性的名称 |
newname | 必须。 返回对象的新名称 |