regroup
템플릿 태그를 사용하여 속성별로 그룹화 할 수도 있습니다 . 문서에서 :
cities = [
{'name': 'Mumbai', 'population': '19,000,000', 'country': 'India'},
{'name': 'Calcutta', 'population': '15,000,000', 'country': 'India'},
{'name': 'New York', 'population': '20,000,000', 'country': 'USA'},
{'name': 'Chicago', 'population': '7,000,000', 'country': 'USA'},
{'name': 'Tokyo', 'population': '33,000,000', 'country': 'Japan'},
]
...
{% regroup cities by country as country_list %}
<ul>
{% for country in country_list %}
<li>{{ country.grouper }}
<ul>
{% for city in country.list %}
<li>{{ city.name }}: {{ city.population }}</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
다음과 같습니다 :
- 인도
- 뭄바이 : 19,000,000
- 캘커타 : 15,000,000
- 미국
- 뉴욕 : 20,000,000
- 시카고 : 7,000,000
- 일본
그것은 또한 QuerySet
내가 믿는 것에서 작동합니다 .
출처 : https://docs.djangoproject.com/en/2.1/ref/templates/builtins/#regroup
편집 : 사전 목록이 키 정렬되어 있지 않으면 예상대로 regroup
태그 가 작동 하지 않습니다 . 반복적으로 작동합니다. 따라서 그룹화 키로 목록 (또는 쿼리 세트)을 정렬 한 다음 regroup
태그로 전달하십시오 .
Members.objects.filter(date=some_date).values('designation').annotate(dcount=Count('designation'))