Как использовать "has_object_permission" для проверки почтового запроса перед сохранением в базу данных?

Как я могу использовать условие, подобное этому, для проверки данных перед записью в базу данных? Я использую django rest framework

class WarehouseIsMemberOfCompany(permissions.BasePermission):
    def has_permission(self, request, view):
        if request.user.is_authenticated:
            return True
        return False
    def has_object_permission(self, request, view, obj):
        if request.user.company.id == obj.warehouse.company.id:
            return True
        return False

Вы можете использовать это как класс разрешения, как показано ниже.

При использовании APIView, основанного на функциях, вы можете установить его в декораторе.

@api_view(['POST'])
@permission_classes([WarehouseIsMemberOfCompany])
def function_name(request):
    ...

При использовании APIView на основе классов, вы можете определить атрибут permission_classes, который содержит ваш класс разрешения.

class YourClassView(APIView):
    permission_classes = (WarehouseIsMemberOfCompany, )
    serializer_class = YourSerializer
Вернуться на верх