From 443d93c35f758c247fc06592ae6ef0721c52a623 Mon Sep 17 00:00:00 2001 From: Ross Date: Sun, 4 Jan 2026 13:02:59 +0000 Subject: [PATCH] Enhance user marking query to ensure distinct exams and order by name for better organization --- rad/views.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/rad/views.py b/rad/views.py index 6b3c500a..e9a65da3 100644 --- a/rad/views.py +++ b/rad/views.py @@ -289,12 +289,16 @@ def user_marking_partial(request, exam_type: str): return HttpResponse("Unknown exam type", status=400) # Exams where user is an author or an authorised marker - exams_qs = ExamModel.objects.filter( - archive=False, exam_mode=True - ).filter(Q(author=user) | Q(markers=user)).prefetch_related("author", "markers") + exams_qs = ( + ExamModel.objects.filter(archive=False, exam_mode=True) + .filter(Q(author=user) | Q(markers=user)) + .distinct() + .order_by("name") + .prefetch_related("author", "markers") + ) exams_data = [] - for exam in exams_qs.order_by("name"): + for exam in exams_qs: has_unmarked = False unmarked_count = 0 # iterate questions and use their helper to count unmarked answers when available