【发布时间】:2017-04-19 15:07:17
【问题描述】:
我想实现这样的路由:
/items - list of all items.
/items/types - list of all item types
我正在查看 drf-nester-routs,但嵌套 url 期望 {pk} 被传递。有什么好方法可以实现我想要的吗?
【问题讨论】:
标签: python django routes django-rest-framework nested-routes
我想实现这样的路由:
/items - list of all items.
/items/types - list of all item types
我正在查看 drf-nester-routs,但嵌套 url 期望 {pk} 被传递。有什么好方法可以实现我想要的吗?
【问题讨论】:
标签: python django routes django-rest-framework nested-routes
如果你不需要pk,那么你的路由应该是/types 而不是/items/types
您可能需要看看这个关于 REST 嵌套资源的 SO 问题:
【讨论】:
pk。如果我理解你需要的是/types 而不是/items/<pk>/types
ID为/items/1/types的意思是“显示属于ID为1的项目的所有类型”。而/items/types 并没有真正的意义,因为资源类型不能属于所有项目资源。
但是,您可以使用 @list_route 装饰器将其实现为 ViewSet 的自定义操作,例如
class MyViewSet(viewsets.ModelViewSet):
...
@list_route()
def types(self, request):
return Response(some_way_to_list_types())
...
不过,这可能不是一种 RESTful 方式。
【讨论】: