Как использовать "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