From 85a017b2c4a9c67a46a8f67839a9561833dbae7f Mon Sep 17 00:00:00 2001 From: xinwen Date: Thu, 25 Nov 2021 15:39:24 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=8C=89=E8=B5=84=E4=BA=A7ip=E6=90=9C?= =?UTF-8?q?=E7=B4=A2=E6=95=B0=E6=8D=AE=E4=B8=8D=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/perms/filters.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/perms/filters.py b/apps/perms/filters.py index c3a5a4b16..da82b5090 100644 --- a/apps/perms/filters.py +++ b/apps/perms/filters.py @@ -170,13 +170,13 @@ class AssetPermissionFilter(PermissionBaseFilter): return queryset if not assets: return queryset.none() - asset = assets.first() + assetids = list(assets.values_list('id', flat=True)) if not is_query_all: - queryset = queryset.filter(assets=asset) + queryset = queryset.filter(assets__in=assetids) return queryset inherit_all_nodekeys = set() - inherit_nodekeys = asset.nodes.values_list('key', flat=True) + inherit_nodekeys = set(assets.values_list('nodes__key', flat=True)) for key in inherit_nodekeys: ancestor_keys = Node.get_node_ancestor_keys(key, with_self=True) @@ -185,8 +185,8 @@ class AssetPermissionFilter(PermissionBaseFilter): inherit_all_nodeids = Node.objects.filter(key__in=inherit_all_nodekeys).values_list('id', flat=True) inherit_all_nodeids = list(inherit_all_nodeids) - qs1 = queryset.filter(assets=asset).distinct() - qs2 = queryset.filter(nodes__id__in=inherit_all_nodeids).distinct() + qs1 = queryset.filter(assets__in=assetids).distinct() + qs2 = queryset.filter(nodes__in=inherit_all_nodeids).distinct() qs = UnionQuerySet(qs1, qs2) return qs