Skip to content
Snippets Groups Projects

Prefetch related data for lesson events

Merged Jonathan Weth requested to merge optimize-db-query-lesson-event into master
1 file
+ 7
1
Compare changes
  • Side-by-side
  • Inline
@@ -1528,7 +1528,13 @@ class LessonEvent(CalendarEvent):
cls, request: HttpRequest | None = None, params: dict[str, any] | None = None
) -> Iterable:
"""Return all objects that should be included in the calendar."""
objs = super().get_objects(request, params).not_instance_of(SupervisionEvent)
objs = (
super()
.get_objects(request, params)
.not_instance_of(SupervisionEvent)
.select_related("subject", "course")
.prefetch_related("groups", "teachers", "rooms")
)
if request and not has_person(request.user):
raise PermissionDenied()
Loading