From 937acbd0b5ca948a58fe0d20a40b238d3b17e3c0 Mon Sep 17 00:00:00 2001 From: xinwen Date: Tue, 15 Jun 2021 17:59:43 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=B5=84=E4=BA=A7=E6=8E=88=E6=9D=83?= =?UTF-8?q?=E4=B8=8D=E8=83=BD=E6=89=93=E5=BC=80=E6=88=96=E5=85=B3=E9=97=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/perms/serializers/asset/permission.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/apps/perms/serializers/asset/permission.py b/apps/perms/serializers/asset/permission.py index f00b0d606..3f0a01061 100644 --- a/apps/perms/serializers/asset/permission.py +++ b/apps/perms/serializers/asset/permission.py @@ -83,14 +83,17 @@ class AssetPermissionSerializer(BulkOrgResourceModelSerializer): return queryset def to_internal_value(self, data): - # 系统用户是必填项 - system_users = data.get('system_users', []) - system_users_display = data.pop('system_users_display', '') - for i in range(len(system_users_display)): - system_user = SystemUser.objects.filter(name=system_users_display[i]).first() - if system_user and system_user.id not in system_users: - system_users.append(system_user.id) - data['system_users'] = system_users + if 'system_users_display' in data: + # system_users_display 转化为 system_users + system_users = data.get('system_users', []) + system_users_display = data.pop('system_users_display') + + for name in system_users_display: + system_user = SystemUser.objects.filter(name=name).first() + if system_user and system_user.id not in system_users: + system_users.append(system_user.id) + data['system_users'] = system_users + return super().to_internal_value(data) def perform_display_create(self, instance, **kwargs):