From 3aca4b88c878a2111f5446705cb3112ec99bffa3 Mon Sep 17 00:00:00 2001
From: Dominik George <nik@naturalnet.de>
Date: Mon, 25 Nov 2019 00:17:53 +0100
Subject: [PATCH] Fix regression in preloading.

---
 biscuit/apps/alsijil/views.py | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/biscuit/apps/alsijil/views.py b/biscuit/apps/alsijil/views.py
index 44c9ed95a..a70a43aae 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)
-- 
GitLab