diff --git a/aleksis/apps/alsijil/model_extensions.py b/aleksis/apps/alsijil/model_extensions.py index 7ab840196988b80bffa63c9c4d3a5aa20aedffef..4501a8cc2cbe95cb302c88603bcdbca5b80cb74c 100644 --- a/aleksis/apps/alsijil/model_extensions.py +++ b/aleksis/apps/alsijil/model_extensions.py @@ -276,11 +276,14 @@ def generate_person_list_with_class_register_statistics( self: Group, persons: Optional[Iterable] = None ) -> QuerySet: """Get with class register statistics annotated list of all members.""" - persons = persons or self.members.all() + if persons is None: + persons = self.members.all() + persons = persons.filter( personal_notes__groups_of_person=self, personal_notes__lesson_period__lesson__validity__school_term=self.school_term, - ).annotate( + ).distinct() + persons = persons.annotate( absences_count=Count( "personal_notes__absent", filter=Q(