From dfe5e2bce33e1fe15b0edb0d01bea176f3ed6ae4 Mon Sep 17 00:00:00 2001 From: feng626 <1304903146@qq.com> Date: Thu, 17 Mar 2022 00:40:30 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9rbac=20permission?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/rbac/permissions.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/rbac/permissions.py b/apps/rbac/permissions.py index 7611698b6..7119181c7 100644 --- a/apps/rbac/permissions.py +++ b/apps/rbac/permissions.py @@ -66,8 +66,10 @@ class RBACPermission(permissions.DjangoModelPermissions): perms = {} if hasattr(view, 'rbac_perms'): perms.update(dict(view.rbac_perms)) + default_perms = self.get_default_action_perms(model_cls) if '*' not in perms: - perms.update(self.get_default_action_perms(model_cls)) + for k, v in default_perms.items(): + perms.setdefault(k, v) return perms def _get_action_perms(self, action, model_cls, view): @@ -107,6 +109,7 @@ class RBACPermission(permissions.DjangoModelPermissions): if not action: action = request.method perms = self._get_action_perms(action, model_cls, view) + print(model_cls, perms, action) return perms def has_permission(self, request, view):