【问题标题】:How to write the json for patch on Django REST Framework如何在 Django REST Framework 上编写用于补丁的 json
【发布时间】:2022-11-01 19:10:44
【问题描述】:

我在ModelViewSet 上有PATCH 按钮表单

class CompanyViewSet(viewsets.ModelViewSet):
    serializer_class = s.CompanySerializer   
    queryset = m.Company.objects.all()
    def patch(self, request, id, format=None):
        print(id)

现在我尝试修改现有数据 id = 1

所以我在 textarea 中写了这个并按下PATCH 按钮。

{
    "id":1,
    "name": ""
}

但是,会出现类似的错误

patch() missing 1 required positional argument: 'id'

也许我的json错了??我该如何做补丁?

patch() 缺少 1 个必需的位置参数:'id'

【问题讨论】:

    标签: javascript python django django-rest-framework


    【解决方案1】:

    像这样使用perform_update

    class CompanyViewSet(viewsets.ModelViewSet):
    serializer_class = s.CompanySerializer   
    queryset = m.Company.objects.all() 
    
    def perform_update(self, serializer):
        instance = serializer.instance
        request = self.request
        serializer.save(**modified_attrs)
        return Response(status=status.HTTP_200_OK)
    

    【讨论】:

      猜你喜欢
      • 2016-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多