Skip to content
Snippets Groups Projects
Verified Commit 2aa06cf2 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Add BreakManager for prefetching

parent 6a1f542b
No related branches found
No related tags found
1 merge request!83Minimize query count
......@@ -199,6 +199,14 @@ class ExtraLessonManager(CurrentSiteManager):
)
class BreakManager(CurrentSiteManager):
"""Manager adding specific methods to breaks."""
def get_queryset(self):
"""Ensure all related data is loaded as well."""
return super().get_queryset().select_related("before_period", "after_period")
class WeekQuerySetMixin:
def annotate_week(self, week: Union[CalendarWeek]):
"""Annotate all lessons in the QuerySet with the number of the provided calendar week."""
......
......@@ -23,6 +23,7 @@ from django_global_request.middleware import get_request
from aleksis.apps.chronos.managers import (
AbsenceQuerySet,
BreakManager,
CurrentSiteManager,
EventQuerySet,
ExtraLessonQuerySet,
......@@ -750,6 +751,8 @@ class SupervisionArea(ExtensibleModel):
class Break(ValidityRangeRelatedExtensibleModel):
objects = BreakManager()
short_name = models.CharField(verbose_name=_("Short name"), max_length=255)
name = models.CharField(verbose_name=_("Long name"), max_length=255)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment