0001-use-explicit-in-lookup-25557.patch
src/authentic2/manager/forms.py | ||
---|---|---|
448 | 448 |
# get possible OUs from this list |
449 | 449 |
related_query_name = self.queryset.model._meta.get_field('ou').related_query_name() |
450 | 450 |
objects_ou_qs = get_ou_model().objects.filter( |
451 |
**{related_query_name: self.queryset}).distinct() |
|
451 |
**{"%s__in" % related_query_name: self.queryset}).distinct()
|
|
452 | 452 |
# to combine queryset with distinct, each queryset must have the distinct flag |
453 | 453 |
self.ou_qs = (self.ou_qs.distinct() | objects_ou_qs) |
454 | 454 |
src/django_rbac/managers.py | ||
---|---|---|
106 | 106 |
return self.filter(members=user).parents().distinct() |
107 | 107 | |
108 | 108 |
def parents(self, include_self=True, annotate=False): |
109 |
qs = self.model.objects.filter(child_relation__child=self) |
|
109 |
qs = self.model.objects.filter(child_relation__child__in=self)
|
|
110 | 110 |
if include_self: |
111 | 111 |
qs = self | qs |
112 | 112 |
qs = qs.distinct() |
... | ... | |
115 | 115 |
return qs |
116 | 116 | |
117 | 117 |
def children(self, include_self=True, annotate=False): |
118 |
qs = self.model.objects.filter(parent_relation__parent=self) |
|
118 |
qs = self.model.objects.filter(parent_relation__parent__in=self)
|
|
119 | 119 |
if include_self: |
120 | 120 |
qs = self | qs |
121 | 121 |
qs = qs.distinct() |
... | ... | |
126 | 126 |
def all_members(self): |
127 | 127 |
User = get_user_model() |
128 | 128 |
prefetch = Prefetch('roles', queryset=self, to_attr='direct') |
129 |
return (User.objects.filter(Q(roles=self) | Q(roles__parent_relation__parent=self))
|
|
129 |
return (User.objects.filter(Q(roles__in=self) | Q(roles__parent_relation__parent__in=self))
|
|
130 | 130 |
.distinct() |
131 | 131 |
.prefetch_related(prefetch)) |
132 | 132 | |
133 |
- |