Django/Django Rest Framework DELETE不允许用于细节视图



我的视图是用泛型定义的。RetrieveUpdateDestroyAPIView。

我放置了一个调试器,它按预期正确地进入视图,所以我认为URL没有问题。我正确地提供了要删除的资源的资源ID。

当我查看响应标头时,我会看到:

{'content-type': ('Content-Type', 'application/json'), 'vary': ('Vary', 'Accept'), 'allow': ('Allow', 'GET, POST, HEAD, OPTIONS')}

正如您所看到的,它显示DELETE,甚至PUT和PATCH都是不允许的。你知道为什么会发生这种事吗?

谢谢!

更新显示视图:

class ItemDetail(generics.RetrieveUpdateDestroyAPIView):
serializer_class = ItemSerializer
queryset = Item.objects.all()

URLS:

path('<int:trans_id>/items/<pk>', views.ItemDetail.as_view(), name='item-detail'),
path('<int:trans_id>/items/', views.ItemList.as_view(), name='item-list'),

这是正在发送的请求:

<WSGIRequest: DELETE '/api/transactions/1/items/1'>

所以,我是个白痴。我指向了正确的URL,但我的测试用例使用了错误的VIEW

最新更新