diff --git a/biscuit/apps/chronos/views.py b/biscuit/apps/chronos/views.py index f4b4187b955adaca510518697f5419e19c847d38..73a517d1f3c37b80ad9df87ac9d2ab6625ce89c7 100644 --- a/biscuit/apps/chronos/views.py +++ b/biscuit/apps/chronos/views.py @@ -31,7 +31,13 @@ def timetable(request: HttpRequest, week: Optional[int] = None) -> HttpResponse: lesson_periods = LessonPeriod.objects.filter( lesson__date_start__gte=week_days(wanted_week)[0], lesson__date_end__lte=week_days(wanted_week)[-1] - ).select_related('period', 'lesson').extra(select={'_week': wanted_week}) + ).select_related( + 'period', 'lesson' + ).prefetch_related( + 'substitutions' + ).extra( + select={'_week': wanted_week} + ) if request.GET.get('group', None) or request.GET.get('teacher', None) or request.GET.get('room', None): # Incrementally filter lesson periods by GET parameters