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

DRF ViewSet自定义action用kwargs做反向URL查找失败是什么原因?

反向URL查找失败原因

你的路由规则中包含必填的命名路径参数version,但调用drf_reverse/reverse时没有在kwargs中传入该参数。

从报错给出的尝试匹配的2个路由规则可以看到,所有路径前缀都包含api/(?P<version>[^/]+)/,其中(?P<version>[^/]+)是强制要求的命名捕获组,必须传入对应参数才能完成路由匹配,你当前传入的kwargs只有client_id和uuid两个参数,缺少必填的version参数,因此触发NoReverseMatch异常。

修复方案

调用反向解析方法时补充传入version参数即可,示例代码如下:

# 将v1替换为你实际使用的API版本号
drf_reverse(
    'rewards-query-earned-rewards', 
    kwargs={
        'version': 'v1',
        'client_id': instance.application.client_id, 
        'uuid': str(instance.uuid)
    }
)

补充说明:路由规则末尾的format参数是DRF自动生成的可选参数,不需要主动传入,不会影响匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 18:45:05