class Test(TemplateView):
template_name = 'test/test.haml'
def get_context_data(self, **kwargs):
context=super(Test, self).get_context_data(**kwargs)
l=Lang.objects.all()
context['list']=[(i,i.text_set.all()) for i in l]
return context
Русский [<Text: Анна Коренина>, <Text: Русско-татарский разговорник>, <Text: Русско-немецко-татарский справочник>, <Text: Сказки Пушкина>, <Text: Сказки Носова>]
Английский [<Text: Анна Коренина>]
Немецкий [<Text: Русско-немецко-татарский справочник>, <Text: Ницше в оригинале>]
Татарский [<Text: Русско-татарский разговорник>, <Text: Русско-немецко-татарский справочник>]
from django.db.models import Count
class Test(TemplateView):
template_name = 'test/test.haml'
def get_context_data(self, **kwargs):
context=super(Test, self).get_context_data(**kwargs)
list=Lang.objects.annotate(text_count=Count('text')).order_by('-text_count')
context['list']=list
return context
{% for i in list %}
{{ i }}
{{ i.text_count }}
<br>
{% endfor %}
Русский 5
Немецкий 2
Татарский 2
Английский 1