From 0d80e182cd5241ad76ab3ac94df9419f02c33746 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 16 Jan 2026 14:48:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20base=20user=E5=A2=9E=E5=8A=A0has=5Fperm?= =?UTF-8?q?=E7=AD=9B=E9=80=89=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/system/filters.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/apps/system/filters.py b/apps/system/filters.py index 481b6398..c20c5143 100755 --- a/apps/system/filters.py +++ b/apps/system/filters.py @@ -7,6 +7,7 @@ from rest_framework.exceptions import ParseError class UserFilterSet(filters.FilterSet): ubelong_dept__name = filters.CharFilter(label='归属于该部门及以下(按名称)', method='filter_ubelong_dept__name') ubelong_dept = filters.CharFilter(label='归属于该部门及以下', method='filter_ubelong_dept') + has_perm = filters.CharFilter(label='拥有指定权限标识', method='filter_has_perm') class Meta: model = User @@ -37,6 +38,9 @@ class UserFilterSet(filters.FilterSet): except Exception as e: raise ParseError(f"部门ID错误: {value} {str(e)}") return queryset.filter(belong_dept__in=depts) + + def filter_has_perm(self, queryset, name, value): + return queryset.filter(up_user__post__pr_post__role__perms__codes__contains=value) class DeptFilterSet(filters.FilterSet):