Имеется ViewSet работающий с тегами
class TagViewSet(viewsets.ModelViewSet):
"""The viewset for working with objects of the Tag class."""
queryset = Tag.objects.all()
serializer_class = TagSerializer
permission_classes = (IsAdminOrReadOnly,)
def perform_create(self, serializer):
if not self.request.user.is_staff:
return Response(status=status.HTTP_405_METHOD_NOT_ALLOWED)
super().perform_create(serializer)
И имеется permissions на проверку является ли юзер админом.
class IsAdminOrReadOnly(BasePermission):
def has_permission(self, request, view):
if request.method in ('GET', 'HEAD', 'OPTIONS'):
return True
return request.user and request.user.is_staff
Теги могут просматривать все, удалять редактировать и создавать может только админ.
В случае если пытается сделать это не админ, то должен выходить статус 405 по ТЗ а у меня выходит только 403 и изменить не получается.