From 33ebc4400190d7b928787c339d19008057e2936e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BC=BA?= <1206709430@qq.com> Date: Wed, 7 Apr 2021 23:52:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DBUG(=E9=83=A8=E9=97=A8?= =?UTF-8?q?=E5=88=A0=E9=99=A4bug):=20=E9=83=A8=E9=97=A8=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E5=88=A0=E9=99=A4=EF=BC=8C=E6=B7=BB=E5=8A=A0=E6=9C=89=E4=B8=8B?= =?UTF-8?q?=E7=BA=A7=E9=83=A8=E9=97=A8=E6=97=A0=E6=B3=95=E7=9B=B4=E6=8E=A5?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dvadmin-backend/apps/vadmin/permission/permissions.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dvadmin-backend/apps/vadmin/permission/permissions.py b/dvadmin-backend/apps/vadmin/permission/permissions.py index 3c09387..3c4f374 100644 --- a/dvadmin-backend/apps/vadmin/permission/permissions.py +++ b/dvadmin-backend/apps/vadmin/permission/permissions.py @@ -10,6 +10,7 @@ from rest_framework.permissions import (BasePermission, from rest_framework.request import Request from rest_framework.views import APIView +from .models import Dept from ..utils.model_util import get_dept logger = logging.getLogger(__name__) @@ -105,9 +106,12 @@ class DeptDestroyPermission(CustomPermission): return True def check_queryset(self, request, instance): - if instance.values_list('userprofile', flat=True): + if list(filter(None, instance.values_list('userprofile', flat=True))): self.message = "该部门下有关联用户,无法删除!" return False + if Dept.objects.filter(parentId__in=instance).count() > 0: + self.message = "该部门下有下级部门,请先删除下级部门!" + return False return True def has_object_permission(self, request: Request, view: APIView, instance):