Django休息框架模型视图集更新没有id

时间:2018-05-08 02:30:06

标签: django-rest-framework

请求的API有三个属性。(产品ID,teamId,计划I' d) 我想在模型视图集更新方法中获取这些属性并将它们分配到各自的字段中。我没有任何引用ID,因此我可以点击创建API,如API / assign / Id。 所以我想根据产品ID更新它。

1 个答案:

答案 0 :(得分:0)

您可以使用action装饰器在视图集中创建自定义操作,并通过设置detail=True您可以在网址中传递产品ID your/update/url/{product id}/update_product

from rest_framework.decorators import action

class YourViewSet(viewsets.ModelViewSet):
    queryset = YourModel.objects.all()
    serializer_class = YourSerializer

    @action(methods=['put']],detail=True)
    def update_product(self, request, pk=None):
        #do your stuff      
        return Response({'status': 'Updated Successfully'})