我有一个小的django应用程序,它有一个扩展了DRF的ModelViewSet的ViewSet,我试着把它附加到应用程序的根url,如下所示
urlpatterns = [
path(r"", NotificationViewSet.as_view(), name="company"),
]
但这会导致错误:
类型错误:在ViewSet上调用.as_view()
时必须提供actions
参数。例如.as_view({'get': 'list'})
这个错误足以说明如何Mapget方法,github copilot建议:
urlpatterns = [
path(
r"",
NotificationViewSet.as_view(
{
"get": "list",
"post": "create",
"patch": "partial_update",
"delete": "destroy",
}
),
name="company",
),
]
但我不确定这是正确的。而且这似乎不处理需要URL参数的检索。我很惊讶我必须如此明确。当然有一个更简单的方法。
1条答案
按热度按时间8ehkhllq1#
包含ViewSet的所有路由的常见方法是使用路由器,例如:
此外,您还可以使用
.as_view()
:注意,我们需要为URL中需要
pk
的方法提供一个专用路径,router.register()
会自动管理它。