我有一個應用程序與DRF創建的API。因爲我使用DRF路由器來路由URL。我想添加一個路由到列表視圖的參數(所以@list_route不會工作)到某些視圖集,而不是其他人。django rest框架和多個路由器
,所以我想定義兩個路由器:
user_router = routers.SimpleRouter()
admin_router = routers.SimpleRouter()
我想要的路線加入到他們的一個:
search_route = Route(
url='^{prefix}/search/(?P<field>\w+)/(?P<value>\w+){trailing_slash}$',
mapping={
'get': 'search',
},
name='{basename}-search',
initkwargs={}
)
admin_router.routes.append(search_route)
但現在我結束與search_route加入這兩個路由器,並因此耦合到我個人在路由器註冊的視圖集。
ipython> user_router.routes
...
Route(url='^{prefix}/search/(?P<field>\\w+)/(?P<method>\\w+)/(?P<keyword>\\w+){trailing_slash}$', mapping={'get': 'search'}, name='{basename}-search', initkwargs={'suffix': 'Search'}),
...
這是爲什麼?我可能在這裏缺少一些基本的東西。我如何添加一個路由()到某些路由器而不是其他的路由器,這樣我就可以用「用戶」和「管理員」分別使用他們自己的方法來分割我的API-urls。