From 2ab80758f0a6b20e658308699826dc27973fbd72 Mon Sep 17 00:00:00 2001 From: liqiang <1206709430@qq.com> Date: Sun, 2 Mar 2025 01:00:43 +0800 Subject: [PATCH] =?UTF-8?q?fix(permission):=20=E4=BF=AE=E5=A4=8D=E6=9D=83?= =?UTF-8?q?=E9=99=90=E8=8E=B7=E5=8F=96=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将 MenuButton 查询结果改为 values_list,获取多个匹配项的 ID - 更新 RoleMenuButtonPermission 查询条件,支持多个菜单按钮 ID --- backend/dvadmin/utils/filters.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/backend/dvadmin/utils/filters.py b/backend/dvadmin/utils/filters.py index fa418be..f61fc62 100644 --- a/backend/dvadmin/utils/filters.py +++ b/backend/dvadmin/utils/filters.py @@ -150,13 +150,13 @@ class DataLevelPermissionsFilter(BaseFilterBackend): re_api = re.sub(_pk,'{id}', api) role_id_list = request.user.role.values_list('id', flat=True) # 修复权限获取bug - menu_button_obj = MenuButton.objects.filter(api=re_api, method=method).first() + menu_button_ids = MenuButton.objects.filter(api=re_api,method=method).values_list('id', flat=True) role_permission_list = [] - if menu_button_obj: - role_permission_list = RoleMenuButtonPermission.objects.filter( + if menu_button_ids: + role_permission_list=RoleMenuButtonPermission.objects.filter( role__in=role_id_list, role__status=1, - menu_button=menu_button_obj).values( + menu_button_id__in=menu_button_ids).values( 'data_range' ) dataScope_list = [] # 权限范围列表