Django подсчитывает появление данных в базе данных и отправляет их в Django-шаблон

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

  • имя посетителя / имя пользователя_fk
  • количество раз, когда этот посетитель посещал данный предмет из конкретного класса
  • общее количество раз, когда этот предмет и класс были на разных датах

имя пользователя_fk также должно появляться только один раз

Мой вид списка в django выглядит следующим образом:

class AttendanceList(LoginRequiredMixin, ListView):
    model = AttendanceLog
    template_name = "./attendancecode/showattendance.html"


    def get_queryset(self):
       class_val = self.request.GET.get('class')
       subject_val = self.request.GET.get('subject')
       sub = Subject.objects.filter(name=subject_val).first()
       new_context = AttendanceLog.objects.filter(keaclass_id=class_val, subject_id=sub)
       
       return new_context

    def get_context_data(self, **kwargs):
        context = super(AttendanceList, self).get_context_data(**kwargs)
        context['class'] = self.request.GET.get('class')
        context['subject'] = self.request.GET.get('subject')
        return context

и результат этого таков:

result

Мои данные в таблице AttendanceLog выглядят следующим образом AttendanceLog table

Например, имя пользователя_fk "nadi6548" посетил "subject_id 2/Large" 4 раза из 4. так что из nadi6548 число 4 стоит там, а затем снова 4. Я знаю, что последнее значение того, сколько раз предмет был там, будет иметь одинаковое значение во всем списке, и это нормально.

конечный результат: end result

Вернуться на верх