我收到的JSON对象包含许多对象和对象列表等。其中一个列表是Year列表,如下所示:
[{'Year': '2015', 'Status': 'NR', 'Month': 'Jan'
{'Year': '2014', Status': '', 'Month': 'Jan'},
{'Year': '2015', 'Status': '',Month': 'Feb'},
{'Year': '2014', Status': '', 'Month': 'Feb'},
{'Year': '2015', 'Status': '', Month': 'Sep'},
{'Year': '2014', 'Status': 'OK', 'Month': 'Sep'},
{'Year': '2015', 'Status': '', 'Month': 'Oct'},
{'Year': '2014', 'Status': 'OK', 'Month': 'Oct'}]
我需要按年份对此列表进行分组,并根据其年份显示月份。例如:
{"2015":[{"Month":"Jan", "Status":"NR"}, {"Month" : "Feb". "Status" :""}]
现在,我使用的代码并没有按照我想要的方式工作,而是根据月数重复这些年份:
2015
2014
2015
2014
2015
2014
2015
2014
这是代码:
{% regroup x.LstPaymentBehaviour by Year as yearList %}
{% for ym in yearList %}
<tr>
<td><strong>{{ ym.grouper }}</strong></td>
</tr>
{% endfor %}
我错过了什么?
答案 0 :(得分:3)
docs:https://docs.djangoproject.com/en/1.8/ref/templates/builtins/#regroup
regroup
首先需要有序数据。如果所有具有相同年份的项目都是连续的,那么您将获得所需的输出。首先对输入数据进行排序
{% regroup x.LstPaymentBehaviour|dictsort:'Year' by Year as yearList %}