1
1
from typing import Dict , Iterable , List , Sequence , TypedDict
2
2
3
- from django .db .models import QuerySet
3
+ from django .db .models import F , QuerySet
4
4
from django .utils .translation import gettext as _
5
5
from django_cte import With
6
6
from django_stubs_ext import ValuesQuerySet
@@ -157,10 +157,10 @@ def get_direct_memberships_of_users(user_group: UserGroup, members: List[UserPro
157
157
def get_recursive_subgroups (user_group : UserGroup ) -> QuerySet [UserGroup ]:
158
158
cte = With .recursive (
159
159
lambda cte : UserGroup .objects .filter (id = user_group .id )
160
- .values ("id" )
161
- .union (cte .join (UserGroup , direct_supergroups = cte .col .id ).values ("id" ))
160
+ .values (group_id = F ( "id" ) )
161
+ .union (cte .join (UserGroup , direct_supergroups = cte .col .group_id ).values (group_id = F ( "id" ) ))
162
162
)
163
- return cte .join (UserGroup , id = cte .col .id ).with_cte (cte )
163
+ return cte .join (UserGroup , id = cte .col .group_id ).with_cte (cte )
164
164
165
165
166
166
def get_recursive_group_members (user_group : UserGroup ) -> QuerySet [UserProfile ]:
@@ -169,11 +169,11 @@ def get_recursive_group_members(user_group: UserGroup) -> QuerySet[UserProfile]:
169
169
170
170
def get_recursive_membership_groups (user_profile : UserProfile ) -> QuerySet [UserGroup ]:
171
171
cte = With .recursive (
172
- lambda cte : user_profile .direct_groups .values ("id" ).union (
173
- cte .join (UserGroup , direct_subgroups = cte .col .id ).values ("id" )
172
+ lambda cte : user_profile .direct_groups .values (group_id = F ( "id" ) ).union (
173
+ cte .join (UserGroup , direct_subgroups = cte .col .group_id ).values (group_id = F ( "id" ) )
174
174
)
175
175
)
176
- return cte .join (UserGroup , id = cte .col .id ).with_cte (cte )
176
+ return cte .join (UserGroup , id = cte .col .group_id ).with_cte (cte )
177
177
178
178
179
179
def is_user_in_group (
0 commit comments