Как отобразить подсчет каждого столбца в django

Display

Я хотел бы подсчитать количество студентов по каждому предмету, но в настоящее время он отображает только количество студентов по одному предмету. он подсчитывает количество студентов только по одному предмету, но я хотел бы подсчитать количество студентов по каждому предмету

views.py

class SubjectView(TemplateView):
    template_name='subjects.html'

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        username=self.request.user.id

        #filter subject taught by lecturer
        classdets=ClassDetail.objects.all().filter(teacher=username).values_list('subject_id')
        print(classdets)

        #filters all subjects from the class details
        subj=Subject.objects.filter(id__in=classdets)
        print(subj)

        #counts number of students
        subjID=Subject.objects.values('id')
        num_student=ClassDetail.objects.filter(id__in=subjID).count
        print(num_student)

        context['subjects'] = subj
        context['no_students'] = num_student

        return context

шаблон

            {% for subject in subjects %}
                <tbody class="list" style="text-transform: capitalize">
                    <tr>
                    <th scope="row">
                        <div class="media align-items-center">
                         <a href="#" class="avatar rounded-circle mr-3">
                          {% if subject.thumbnail %}
                            <img alt="Logo" src="{{subject.thumbnail.url}}" />
                          {% endif %}
                        </a>
                        <div class="media-body">
                            <span class="name mb-0 text-sm">{{subject}}</span>
                        </div>
                        </div>
                    </th>
                    <td class="budget">{{subject.code}}</td>                    
                    <td>
                        <div class="d-flex align-items-center">
                          <span class="completion mr-2">{{no_students}}</span>
                        </div>
                    </td>
                    <td>
                        {% comment %}
                        <div class="d-flex align-items-center">
                        <span class="completion mr-2">{{attendace_code}}</span>
                        </div>
                        {% endcomment %}
                    </td>
                    </tr>
                </tbody>
            {% endfor %}
          {% endif %}
num_student =subjID.classdetail_set.all().count()
print(num_student)
Вернуться на верх