From 70664d435f2ba80b385f2f0645822102e9a68b6a Mon Sep 17 00:00:00 2001 From: jym503558564 <503558564@qq.com> Date: Thu, 17 Oct 2019 11:59:18 +0800 Subject: [PATCH] =?UTF-8?q?[Update]=20=E4=BF=AE=E6=94=B9=E5=B0=8F=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/perms/api/asset_permission.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/perms/api/asset_permission.py b/apps/perms/api/asset_permission.py index 1088117e8..180878d30 100644 --- a/apps/perms/api/asset_permission.py +++ b/apps/perms/api/asset_permission.py @@ -68,18 +68,18 @@ class AssetPermissionViewSet(viewsets.ModelViewSet): node_id = self.request.query_params.get('node_id') node_name = self.request.query_params.get('node') if node_id: - nodes = Node.objects.filter(pk=node_id) + _nodes = Node.objects.filter(pk=node_id) elif node_name: - nodes = Node.objects.filter(value=node_name) + _nodes = Node.objects.filter(value=node_name) else: return queryset - if not nodes: + if not _nodes: return queryset.none() - related_nodes = [] - for node in nodes: - [related_nodes.append(item) for item in node.get_ancestors(with_self=True)] - queryset = queryset.filter(nodes__in=related_nodes) + nodes = set() + for node in _nodes: + nodes |= set(node.get_ancestors(with_self=True)) + queryset = queryset.filter(nodes__in=nodes) return queryset def filter_asset(self, queryset):