আপনি 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'))