use explicit in lookup (#25557)
This commit is contained in:
parent
38e2d61e07
commit
135b81c6fc
|
@ -448,7 +448,7 @@ class OUSearchForm(FormWithRequest):
|
||||||
# get possible OUs from this list
|
# get possible OUs from this list
|
||||||
related_query_name = self.queryset.model._meta.get_field('ou').related_query_name()
|
related_query_name = self.queryset.model._meta.get_field('ou').related_query_name()
|
||||||
objects_ou_qs = get_ou_model().objects.filter(
|
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
|
# to combine queryset with distinct, each queryset must have the distinct flag
|
||||||
self.ou_qs = (self.ou_qs.distinct() | objects_ou_qs)
|
self.ou_qs = (self.ou_qs.distinct() | objects_ou_qs)
|
||||||
|
|
||||||
|
|
|
@ -106,7 +106,7 @@ class RoleQuerySet(query.QuerySet):
|
||||||
return self.filter(members=user).parents().distinct()
|
return self.filter(members=user).parents().distinct()
|
||||||
|
|
||||||
def parents(self, include_self=True, annotate=False):
|
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:
|
if include_self:
|
||||||
qs = self | qs
|
qs = self | qs
|
||||||
qs = qs.distinct()
|
qs = qs.distinct()
|
||||||
|
@ -115,7 +115,7 @@ class RoleQuerySet(query.QuerySet):
|
||||||
return qs
|
return qs
|
||||||
|
|
||||||
def children(self, include_self=True, annotate=False):
|
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:
|
if include_self:
|
||||||
qs = self | qs
|
qs = self | qs
|
||||||
qs = qs.distinct()
|
qs = qs.distinct()
|
||||||
|
@ -126,7 +126,7 @@ class RoleQuerySet(query.QuerySet):
|
||||||
def all_members(self):
|
def all_members(self):
|
||||||
User = get_user_model()
|
User = get_user_model()
|
||||||
prefetch = Prefetch('roles', queryset=self, to_attr='direct')
|
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()
|
.distinct()
|
||||||
.prefetch_related(prefetch))
|
.prefetch_related(prefetch))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue