From 7f3c14a740e224b6745c79dff38c8b2e714cde95 Mon Sep 17 00:00:00 2001 From: Emmanuel Cazenave Date: Wed, 1 Aug 2018 15:37:28 +0200 Subject: [PATCH] use explicit in lookup (#25557) --- src/authentic2/manager/forms.py | 2 +- src/django_rbac/managers.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/authentic2/manager/forms.py b/src/authentic2/manager/forms.py index 870fb3db..adda87c1 100644 --- a/src/authentic2/manager/forms.py +++ b/src/authentic2/manager/forms.py @@ -448,7 +448,7 @@ class OUSearchForm(FormWithRequest): # get possible OUs from this list related_query_name = self.queryset.model._meta.get_field('ou').related_query_name() objects_ou_qs = get_ou_model().objects.filter( - **{related_query_name: self.queryset}).distinct() + **{"%s__in" % related_query_name: self.queryset}).distinct() # to combine queryset with distinct, each queryset must have the distinct flag self.ou_qs = (self.ou_qs.distinct() | objects_ou_qs) diff --git a/src/django_rbac/managers.py b/src/django_rbac/managers.py index b3fb4900..1a52320a 100644 --- a/src/django_rbac/managers.py +++ b/src/django_rbac/managers.py @@ -106,7 +106,7 @@ class RoleQuerySet(query.QuerySet): return self.filter(members=user).parents().distinct() def parents(self, include_self=True, annotate=False): - qs = self.model.objects.filter(child_relation__child=self) + qs = self.model.objects.filter(child_relation__child__in=self) if include_self: qs = self | qs qs = qs.distinct() @@ -115,7 +115,7 @@ class RoleQuerySet(query.QuerySet): return qs def children(self, include_self=True, annotate=False): - qs = self.model.objects.filter(parent_relation__parent=self) + qs = self.model.objects.filter(parent_relation__parent__in=self) if include_self: qs = self | qs qs = qs.distinct() @@ -126,7 +126,7 @@ class RoleQuerySet(query.QuerySet): def all_members(self): User = get_user_model() prefetch = Prefetch('roles', queryset=self, to_attr='direct') - return (User.objects.filter(Q(roles=self) | Q(roles__parent_relation__parent=self)) + return (User.objects.filter(Q(roles__in=self) | Q(roles__parent_relation__parent__in=self)) .distinct() .prefetch_related(prefetch)) -- 2.18.0