ho già avuto questo punto di vista il mio progetto:AssertionError: Non è possibile applicare DjangoModelPermissions su una visione che non ha `` .model` o proprietà .queryset`
from rest_framework import status
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.parsers import JSONParser
from rest_framework.permissions import IsAuthenticated
from rest_api.my_app.serializer import MySerializer
from my_project.models import Bag
class MyView(APIView):
parser_classes = (JSONParser,)
queryset = Bag.objects.all()
permission_classes = (IsAuthenticated,)
@staticmethod
def post(self, request, format=None):
serializer = MySerializer(data=request.DATA)
if serializer.is_valid():
serializer.save(),
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Tuttavia ho poi capito che non avevo bisogno il set di query e così ho cancellato quella linea e il permesso e set di query di rimanere con:
from rest_framework import status
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.parsers import JSONParser
from rest_api.my_app.serializer import MySerializer
class MyView(APIView):
parser_classes = (JSONParser,)
@staticmethod
def post(self, request, format=None):
serializer = MySerializer(data=request.DATA)
if serializer.is_valid():
serializer.save(),
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Se provo a eseguire il codice ottengo questo messaggio di errore:
AssertionError: Cannot apply DjangoModelPermissions on a view that does not have `.model` or `.queryset` property.'
vostro set di query dovrebbe essere 'set di query = Bag.objects.all()' – karthikr
io pensi di avere un errore di battitura: un ',' 'dopo serializer.save()' –
@Sohan è ok perché c'è un'altra istruzione sotto il se – henry12