Reputation: 381
i have an uploads model and i want to be able to delete the images, so i wrote a delete request that takes the id of the image however i keep getting 404 not found, i have the same thing and same steps for the files model that i created and it works fine.
@api_view(['GET', 'POST','DELETE'])
def Upload_list(request):
if request.method == 'GET':
queryset = Uploads.objects.all()
uploads=queryset.filter(owner=request.user)
serializer = UploadSerializer(uploads, many=True)
return Response(serializer.data)
elif request.method == 'POST':
serializer = UploadSerializer(data=request.data)
if serializer.is_valid():
serializer.save(owner=request.user)
respFile=list(File.objects.filter(id=str(File.objects.latest('created_at'))))
serializers=Fileserializers(respFile,read_only=True,many=True)
return Response(serializers.data)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def UploadsDetails(request,pk):
try:
image=Uploads.objects.get(pk=pk)
except Uploads.DoesNotExist:
return HttpResponse(status=404)
if request.method =='GET':
serializers=Fileserializers(image)
return JsonResponse(serializers)
elif request.method =='DELETE':
image.delete()
return HttpResponse(status=204)
these are the urls:
from django.urls import path
from .views import Upload_list,login
from .views import UploadsDetails
urlpatterns=[
path('Uploads/',Upload_list),
path('Uploads/<uuid:pk>/',UploadsDetails),
path('login/', login)
]
Upvotes: 0
Views: 482
Reputation: 985
You forgot to add decorator
to your function
@api_view(['GET','DELETE'])
def UploadsDetails(request,pk):
pass
Upvotes: 1