diff --git a/aleksis/apps/chronos/models.py b/aleksis/apps/chronos/models.py index 5a6eb38f9bf4b308e0029506700751322a1a249e..b2a35a90ef1911220ea6a86a6021919d08251c64 100644 --- a/aleksis/apps/chronos/models.py +++ b/aleksis/apps/chronos/models.py @@ -254,12 +254,17 @@ class LessonSubstitutionQuerySet(LessonDataQuerySet): def affected_teachers(self): """ Return all teachers which are affected by selected substitutions (as substituted or substituting) """ - return Person.objects.filter(Q(lessons_as_teacher__in=self.affected_lessons()) | Q(lesson_substitutions__in=self)) + return Person.objects.filter( + Q(lessons_as_teacher__in=self.affected_lessons()) + | Q(lesson_substitutions__in=self) + ).annotate(lessons_count=Count("lessons_as_teacher")) def affected_groups(self): """ Return all groups which are affected by selected substitutions """ - return Group.objects.filter(lessons__in=self.affected_lessons()) + return Group.objects.filter(lessons__in=self.affected_lessons()).annotate( + lessons_count=Count("lessons") + ) class TimePeriod(models.Model):