From ba4d222eda47741120a898010e9121fec2d64408 Mon Sep 17 00:00:00 2001 From: Bai Date: Tue, 20 Dec 2022 11:25:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=20nodes-with-assets/t?= =?UTF-8?q?ree/=20API=20=E5=BC=82=E5=B8=B8=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/perms/utils/user_permission.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/apps/perms/utils/user_permission.py b/apps/perms/utils/user_permission.py index 674f562ff..8ee5992dd 100644 --- a/apps/perms/utils/user_permission.py +++ b/apps/perms/utils/user_permission.py @@ -54,12 +54,9 @@ class UserGrantedUtilsBase: class UserGrantedAssetsQueryUtils(UserGrantedUtilsBase): def get_favorite_assets(self) -> QuerySet: - favorite_asset_ids = FavoriteAsset.objects.filter( - user=self.user - ).values_list('asset_id', flat=True) - favorite_asset_ids = list(favorite_asset_ids) assets = self.get_all_granted_assets() - assets = assets.filter(id__in=favorite_asset_ids) + asset_ids = FavoriteAsset.objects.filter(user=self.user).values_list('asset_id', flat=True) + assets = assets.filter(id__in=list(asset_ids)) return assets def get_ungroup_assets(self) -> AssetQuerySet: @@ -83,8 +80,13 @@ class UserGrantedAssetsQueryUtils(UserGrantedUtilsBase): def get_all_granted_assets(self) -> QuerySet: nodes_assets = self.get_direct_granted_nodes_assets() assets = self.get_direct_granted_assets() - queryset = UnionQuerySet(nodes_assets, assets) - return queryset + # queryset = UnionQuerySet(nodes_assets, assets) + # return queryset + node_asset_ids = nodes_assets.values_list('id', flat=True) + direct_asset_ids = assets.values_list('id', flat=True) + asset_ids = list(node_asset_ids) + list(direct_asset_ids) + asset = Asset.objects.filter(id__in=asset_ids) + return asset def get_node_all_assets(self, id) -> Tuple[PermNode, QuerySet]: node = PermNode.objects.get(id=id)