Django Restのレコードを削除しようとしています。Django RestのDELETEメソッド
views.py: -
class ItemPartialView(generics.RetrieveUpdateDestroyAPIView):
queryset = itemlist.objects.all()
serializer_class = ItemlistSerializer
def put(self, request, *args, **kwargs):
return self.partial_update(request, *args, **kwargs)
def destroy(self, request, *args, **kwargs):
obj = self.get_object()
if obj.survey:
return Response(data={'message': "Too late to delete"},
status=status.HTTP_400_BAD_REQUEST)
self.perform_destroy(obj)
return Response(status=status.HTTP_204_NO_CONTENT)
urls.py: -
urlpatterns = {
url(r'^itemlists/$', ItemView.as_view(), name="create"),
url(r'^itemlists/(?P<pk>\d+)/$', ItemPartialUpdateView.as_view(), name="update")
}
私はitemlists/1/
にDELETEリクエストを送信していたときに今、それはid = 1
エラーでレコードを削除されていないですMethod DELETE not allowed
(作成、READ、UPDATEはDELETEを除いて動作しているので、Cors関連の問題ではないと思います)。
なぜあなたの関数は 'delete()'ではなく 'destroy()'という名前になっていますか? –
delete()は同じ結果になります – codeclue
'delete()'は 'ItemPartialView'クラスのメンバですか?つまり、クラスの下にインデントされた関数ですか?質問では、そうではありません。 –