无法派生路径参数“id”的类型,因为它是无类型的,并且从视图集中获取查询集失败。考虑向路径添加类型(例如 int:id)或使用 @extend_schema 注释参数类型。默认为“字符串”。
在使用 drf-spectaulous 包作为 swagger 文档时出现此警告。
在调试过程中,我发现除了 get request 之外,我们在请求中传递的 id 缺少类型。它表示我们在 url 中传递的 id 的传递类型。 有什么方法可以在 drf 路由器中通过 url 传递 id 类型吗?
我尝试使用 urlpatterns 而不是使用路由器,通过为获取请求和检索、放置、修补、删除提供 url。
有没有更好的方法来解决这个警告?
我看到了同样的警告。使用以下代码修复它。
请注意,OpenApiParameter 需要名称、类型和位置才能正常工作。
@extend_schema(
request=YourSerializerOrNone,
responses=YourSerializerOrNone,
parameters = [OpenApiParameter(name="id", type=str, location=OpenApiParameter.PATH)]
)