Я пишу пользовательское разрешение и наследую в обобщенных c представлениях, но он не работает, он возвращает
TypeError: Невозможно привести AnonymousUser к int. Вы пытаетесь использовать его вместо Пользователя?
вместо User required to perform this action
моего пользовательского разрешения, как показано
class IsOwnedByUser(permissions.BasePermission):
def has_object_permission(self, request, view, obj):
message = {'detail': 'User required to perform this action'}
return obj.user == request.user
просмотров. py
class OrderAddressView(generics.ListCreateAPIView):
queryset = OrderAddress.objects.all()
serializer_class = OrderAddressSerializer
permission_classes = (IsOwnedByUser,)
def perform_create(self, serializer):
serializer.save(user=self.request.user)
def get_queryset(self):
return OrderAddress.objects.filter(user=self.request.user)
Кстати, он отлично работает с классом разрешений по умолчанию для структуры остального, когда я использую это
permission_class = (permissions.IsAuthenticated,)
, но с моим собственным разрешением не работает (Может кто-нибудь сказать, почему это так? Заранее спасибо!