From e223b95da5192095b42c41d4cd40d26cf4791d21 Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Mon, 7 Sep 2020 14:25:07 +0200 Subject: [PATCH] [Full register] Get lessons and child groups in view and prefetch data there --- .../templates/alsijil/print/full_register.html | 4 ++-- aleksis/apps/alsijil/views.py | 13 ++++++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/aleksis/apps/alsijil/templates/alsijil/print/full_register.html b/aleksis/apps/alsijil/templates/alsijil/print/full_register.html index 03b75de7b..6820996b7 100644 --- a/aleksis/apps/alsijil/templates/alsijil/print/full_register.html +++ b/aleksis/apps/alsijil/templates/alsijil/print/full_register.html @@ -175,7 +175,7 @@ </thead> <tbody> - {% for lesson in group.lessons.all %} + {% for lesson in lessons %} <tr> <td>{{ lesson.subject.name }}</td> <td>{{ lesson.teachers.all|join:', ' }}</td> @@ -206,7 +206,7 @@ </thead> <tbody> - {% for child_group in group.child_groups.all %} + {% for child_group in child_groups %} {% for lesson in child_group.lessons.all %} <tr> <td>{{ child_group.name }}</td> diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py index 6e2dda372..24c73d2e6 100644 --- a/aleksis/apps/alsijil/views.py +++ b/aleksis/apps/alsijil/views.py @@ -471,7 +471,18 @@ def full_register_group(request: HttpRequest, id_: int) -> HttpResponse: context["periods_by_day"] = periods_by_day context["lesson_periods"] = lesson_periods context["today"] = date.today() - + context["lessons"] = ( + group.lessons.all() + .select_related("validity", "subject") + .prefetch_related("teachers", "lesson_periods") + ) + context["child_groups"] = group.child_groups.all().prefetch_related( + "lessons", + "lessons__validity", + "lessons__subject", + "lessons__teachers", + "lessons__lesson_periods", + ) return render(request, "alsijil/print/full_register.html", context) -- GitLab