Как сделать так чтобы контент мог просматривать только тот пользователь который его создал?
VIEWS.PY
from rest_framework.decorators import api_view
from rest_framework import status, permissions, generics
from rest_framework.permissions import IsAuthenticated
from django.contrib.auth import authenticate, login
from rest_framework.response import Response
from .serializers import TaskSerializer, ListSerializer
from .models import Task
class ViewListPermission(generics.ListAPIView):
queryset = Task.objects.all()
serializer_class = ListSerializer
permission_classes = [permissions.IsAuthenticated]
class taskList(ViewListPermission):
@api_view(['GET'])
def taskList(request):
tasks = Task.objects.all()
serializer = ListSerializer(tasks, many = True)
return Response(serializer.data)
SERIALAIZER.PY
from rest_framework import serializers
from .models import Task
class ListSerializer(serializers.ModelSerializer):
class Meta:
model = Task
fields = ('title','deadline','completed','importance','id')
Ответы (1 шт):
Автор решения: Ihar
→ Ссылка
вам надо сделать custom permissions, что то типа такого:
permission_classes = [permissions.CustomPermissions]
# permissions.py
class CustomPermissions(permissions.BasePermission):
def has_object_permission(self, request, view, obj):
if request.user == obj.user:
return True
else:
return False