【发布时间】:2016-07-27 10:04:12
【问题描述】:
Django Rest Framework 默认生成一组 API 端点。比如这个:
^api/ ^ ^provinces/(?P<pk>[^/.]+)/$ [name='province-detail']
产生http://127.0.0.1:8000/api/provinces/02/,这很好。
它使用下面的实际代码:
class ProvinceSerializer(serializers.ModelSerializer):
""" Serializer to represent the Province model """
class Meta:
model = Province
fields = ("name", "code")
我想添加另一个路由,以便我可以有另一个端点,例如:
^api/ ^ ^provinces/(?P<pk>[^/.]+)/(?P<product>[^/.]+)/$ [name='province-product-detail']
这样我就可以这样做http://127.0.0.1:8000/api/provinces/02/apple/ 并访问序列化程序方法中的第二个参数。我正在尝试这样做:
class ProvinceSerializer(serializers.ModelSerializer):
""" Serializer to represent the Province model """
class Meta:
model = Province
fields = ("name", "code")
@detail_route(methods=['post'])
def set_product(self, request, product=None):
return product
【问题讨论】:
-
我认为重要的是序列化程序是视图。你能发表你的看法吗?
标签: django django-rest-framework