Здравствуйте, имеется задача ограничить определённый апи-адресс, возвращающий данные об организациях. Зарегистрированый пользователь может удалять данные, через запрос DELETE и создавать данные с помошью POST.
Как можно ограничить доступ для удаления данных, которые пользователь не добавлял?
Для иных запросов использую (permissions.py):
class IsBuisnessman(permissions.BasePermission):
def has_permission(self, request, view):
if request.method == 'GET':
return True
elif request.method == 'POST':
return request.user.type == 2
views.py:
class BookViewSet(NestedViewSetMixin, viewsets.ModelViewSet):
queryset = Book.objects.all()
model = Book
serializer_class = BookSerializer
http_method_names = ['get', 'post', 'delete']
permission_classes = (IsAuthenticated, )
def get_queryset(self):
return Book.objects.filter(user=self.request.user).all()
def perform_create(self, serializer):
booking_option = BookingOption.objects.get(pk=self.request.data.get('booking_option'))
serializer.save(user=self.request.user)
Как можно ограничить удаление данных с помошью has_permission?