我的视图是用泛型定义的。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