diff --git a/biscuit/apps/alsijil/views.py b/biscuit/apps/alsijil/views.py index 44c9ed95afdda1907630876395b2b96908805185..a70a43aae7b73a730d8811148d40a229763029bd 100644 --- a/biscuit/apps/alsijil/views.py +++ b/biscuit/apps/alsijil/views.py @@ -97,7 +97,13 @@ def week_view(request: HttpRequest, year: Optional[int] = None, week: Optional[i lesson_period=OuterRef('pk'), week=wanted_week.week )) - ).in_week(wanted_week) + ).in_week( + wanted_week + ).select_related( + 'lesson', 'lesson__subject', 'period', 'room' + ).prefetch_related( + 'lesson__groups', 'lesson__teachers', 'substitutions' + ) group = None # FIXME workaround for #38 if request.GET.get('group', None) or request.GET.get('teacher', None) or request.GET.get('room', None): @@ -172,8 +178,10 @@ def full_register_group(request: HttpRequest, id_: int) -> HttpResponse: # Get all lesson periods for the selected group lesson_periods = LessonPeriod.objects.filter_group( group - ).distinct().prefetch_related( - 'documentations', 'personal_notes' + ).distinct().select_related( + 'lesson', 'lesson__subject', 'period', 'room' + ).prefetch_related( + 'lesson__groups', 'lesson__teachers', 'substitutions', 'documentations', 'personal_notes' ) weeks = CalendarWeek.weeks_within(group.school.current_term.date_start, group.school.current_term.date_end)