From d233182160233c5c2c2891909a2604fb53a5b5d4 Mon Sep 17 00:00:00 2001 From: Jonathan Weth <git@jonathanweth.de> Date: Thu, 20 Aug 2020 16:35:43 +0200 Subject: [PATCH] Simplify queryset in SelectForm --- aleksis/apps/alsijil/forms.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/aleksis/apps/alsijil/forms.py b/aleksis/apps/alsijil/forms.py index b8198da08..b653edc5f 100644 --- a/aleksis/apps/alsijil/forms.py +++ b/aleksis/apps/alsijil/forms.py @@ -99,7 +99,7 @@ class SelectForm(forms.Form): ).values_list("pk", flat=True) ) ).union(group_qs.filter(Q(members=person) | Q(owners=person))) - self.fields["group"].queryset = group_qs.distinct() + self.fields["group"].queryset = Group.objects.filter(pk__in=list(group_qs.values_list("pk", flat=True))) teacher_qs = Person.objects.annotate( lessons_count=Count("lessons_as_teacher") @@ -123,7 +123,9 @@ class RegisterAbsenceForm(forms.Form): ) date_start = forms.DateField(label=_("Start date"), initial=datetime.today) date_end = forms.DateField(label=_("End date"), initial=datetime.today) - person = forms.ModelChoiceField(label=_("Person"), queryset=None, widget=Select2Widget) + person = forms.ModelChoiceField( + label=_("Person"), queryset=None, widget=Select2Widget + ) from_period = forms.ChoiceField(label=_("Start period")) to_period = forms.ChoiceField(label=_("End period")) absent = forms.BooleanField(label=_("Absent"), initial=True, required=False) @@ -144,8 +146,12 @@ class RegisterAbsenceForm(forms.Form): self.fields["person"].queryset = Person.objects.all() else: self.fields["person"].queryset = ( - get_objects_for_user(self.request.user, "core.register_absence_person", Person) - .union(Person.objects.filter(member_of__owners=self.request.user.person)) + get_objects_for_user( + self.request.user, "core.register_absence_person", Person + ) + .union( + Person.objects.filter(member_of__owners=self.request.user.person) + ) .union( Person.objects.filter( member_of__in=get_objects_for_user( -- GitLab