You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django Rest Framework中ModelViewSet未注册create路由的问题求助

问题原因

DRF 中 DefaultRouter 为 ModelViewSet 生成路由时,列表查询(GET 方法)和创建操作(POST 方法)共用同一条 URL 路径 /api/entries/,路由别名统一为 {basename}-list,并不会生成单独的 {basename}-create 别名。你看到的 show_urls 输出是正常的,不存在单独的 api:entry-create 路由名。

解决方法

你调用 reverse("api:entry-list") 获取到 /api/entries/ 路径后,发 POST 请求即可触发 create 逻辑,不需要找单独的 create 路由。

额外排查点

如果调用上述路径发 POST 请求没有触发 create 逻辑,可以检查你的 EntryViewSet 或其父类是否自定义了 http_method_names 属性,且该属性中没有包含 post,如果是这个情况,把 post 加入 http_method_names 列表即可。

内容的提问来源于stack exchange,提问作者Eray Erdin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 08:36:05