diff --git a/aleksis/apps/alsijil/tasks.py b/aleksis/apps/alsijil/tasks.py index da691ac24f5f8084c0cea6226c464386ace835bd..8fda7d53a57171052336a7af0a26ca5547e2cc91 100644 --- a/aleksis/apps/alsijil/tasks.py +++ b/aleksis/apps/alsijil/tasks.py @@ -242,9 +242,12 @@ def generate_full_register_printout( if include_coursebook: context["documentations_by_day"] = {} - documentations.prefetch_related("participations", "personal_notes") - for day in documentations.dates("datetime_start", "day"): - context["documentations_by_day"][day] = documentations.filter(datetime_start__date=day) + documentations = documentations.order_by("datetime_start").prefetch_related( + prefetch_notable_participations(select_related=["person"]), + prefetch_personal_notes("personal_notes", select_related=["person"]) + ) + for doc in documentations: + context["documentations_by_day"].setdefault(doc.datetime_start.date(), []).append(doc) # OLD