如何在generics.DestroyAPIView的reverse()中传递pk参数?
解决Django DRF NoReverseMatch异常的提示
核心问题:你调用
reverse时用了questions_delete-list这个路由名称,但DRF的DefaultRouter中,列表路由(list)不需要pk参数,带pk的详情删除路由对应的名称是{basename}-detail,也就是你这里的questions_delete-detail。修正后的代码:
response = api_client.delete( reverse("questions_delete-detail", kwargs={'pk':1}), )
- 额外检查点:
- 确认
QuestionDelete视图集继承了GenericViewSet并混入DestroyModelMixin(或直接使用ModelViewSet),确保destroy方法已实现。 - 检查根URL配置是否正确引入了当前的urlpatterns,保证路由能被正常识别。
- 确认
内容的提问来源于stack exchange,提问作者mathz
相关产品推荐
相关产品推荐

