from rest_framework import permissions from users.models import User from users.serializers import UserSerializer class NormalPermissionCheck(permissions.BasePermission): def has_permission(self, request, view): return request.user and request.user.is_staff def has_object_permission(self, request, view, obj): objs = User.objects.get(id=request.user.id) permissions_list = [] for item in UserSerializer(objs).data["roles"]: add_item = [x["permission_value"] for x in item["role_permission"]] permissions_list.extend(add_item) return obj.id in permissions_list