From ddb71c43c475be5572080de829fd5cc8e4373589 Mon Sep 17 00:00:00 2001 From: ibuler Date: Tue, 1 Sep 2020 16:41:39 +0800 Subject: [PATCH] =?UTF-8?q?fix(users):=20=E4=BF=AE=E5=A4=8D=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E5=9C=A8=E4=B8=8D=E5=90=8C=E7=BB=84=E7=BB=87=E5=BC=95?= =?UTF-8?q?=E8=B5=B7=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/users/api/user.py | 4 +--- apps/users/models/user.py | 6 ------ apps/users/serializers/user.py | 3 --- 3 files changed, 1 insertion(+), 12 deletions(-) diff --git a/apps/users/api/user.py b/apps/users/api/user.py index ae4550931..148378522 100644 --- a/apps/users/api/user.py +++ b/apps/users/api/user.py @@ -44,9 +44,7 @@ class UserViewSet(CommonApiMixin, UserQuerysetMixin, BulkModelViewSet): def get_queryset(self): return super().get_queryset().annotate( gc_m2m_org_members__role=GroupConcat('m2m_org_members__role'), - gc_groups__name=GroupConcat('groups__name'), - gc_groups=GroupConcat('groups__id', output_field=CharField()) - ) + ).prefetch_related('groups') def send_created_signal(self, users): if not isinstance(users, list): diff --git a/apps/users/models/user.py b/apps/users/models/user.py index f65b9398e..f0f2ec896 100644 --- a/apps/users/models/user.py +++ b/apps/users/models/user.py @@ -560,12 +560,6 @@ class User(AuthMixin, TokenMixin, RoleMixin, MFAMixin, AbstractUser): @property def groups_display(self): - if hasattr(self, 'gc_groups__name'): - names = self.gc_groups__name - if isinstance(names, str): - return ' '.join(set(self.gc_groups__name.split(','))) - else: - return '' return ' '.join([group.name for group in self.groups.all()]) @property diff --git a/apps/users/serializers/user.py b/apps/users/serializers/user.py index d6968a2d8..ccb269350 100644 --- a/apps/users/serializers/user.py +++ b/apps/users/serializers/user.py @@ -44,9 +44,6 @@ class UserSerializer(CommonBulkSerializerMixin, serializers.ModelSerializer): label=_('Password strategy'), write_only=True ) mfa_level_display = serializers.ReadOnlyField(source='get_mfa_level_display') - groups = GroupConcatedPrimaryKeyRelatedField( - label=_('User group'), many=True, queryset=UserGroup.objects.all(), required=False - ) login_blocked = serializers.SerializerMethodField() can_update = serializers.SerializerMethodField() can_delete = serializers.SerializerMethodField()