0
我想爲創建操作(後)設置權限。我不知道這件事很熱。如何在rest_framework中爲創建操作設置權限
這是我的代碼:
在permissions.py
class IsAdmin(permissions.BasePermission):
def has_object_permission(self, request, view, category):
if request.user.role == "admin":
return request.user.role == "admin"
return False
鑑於
類CategoryViewSet(viewsets.ModelViewSet):
queryset = Category.objects.all()
serializer_class = CategorySerializer
def get_permissions(self):
if self.request.method in permissions.SAFE_METHODS:
return (permissions.DjangoModelPermissions(),)
return (permissions.IsAuthenticated(), IsAdmin(),)
如果你能看到,它是一個自定義的管理不STANDAR定義IsAdmin:request.user.role ==「管理員」 –
所以把只讀查詢到自己的權限類(和其重命名爲更好的東西像'IsAdminOrReadOnly'),然後使用這個類的viewset.permission_classes – wim
已經我已經解決了它...我已經改變了方法'has_object_permission(個體經營,請求,查看,類別)''爲has_permission (自我,請求,觀點)'和它的工作應該是...;) –