def _make_subtotal(students, subjects, from_date: date, to_date: date): avg_marks = [] for subj in subjects: # avg_marks.append(for_subj_marks_group(students, subj, from_date, to_date)) avg_marks.append(avg_marks_group(students, subj, from_date, to_date)) return tStudentRow( # student=student, avg_marks=avg_marks, attendance=get_attendance_stats( StudentAttendance.objects.filter( student_id__in=students_to_ids(students), attendance__date__gte=from_date, attendance__date__lte=to_date, ) ), total_reprimands=len( Penalty.objects.filter( student_id__in=students_to_ids(students), type="reprimand", attendance__date__gte=from_date, attendance__date__lte=to_date, ) ), total_promotions=len( Penalty.objects.filter( student_id__in=students_to_ids(students), type="promotion", attendance__date__gte=from_date, attendance__date__lte=to_date, ) ), )
def _make_squad_total(students, subjects): return tStudentRow( avg_marks=[avg_marks_group(students, subj) for subj in subjects], attendance=get_attendance_stats( StudentAttendance.objects.filter( student_id__in=students_to_ids(students))), )