eagleye

在 Django REST Framework (DRF) 视图集中,Axios 发送的PATCH请求默认对应partial_update方法

Django REST Framework (DRF) 视图集中,Axios 发送的PATCH请求默认对应partial_update方法

核心对应关系:

HTTP 方法

DRF 视图集方法

功能描述

GET

list

获取资源列表

GET

retrieve

获取单个资源

POST

create

创建资源

PUT

update

全量更新资源

PATCH

partial_update

部分更新资源

DELETE

destroy

删除资源

关键说明:

  • PATCH请求用于部分更新(仅修改提供的字段),而PUT用于全量更新(需提供所有必填字段)。
  • ModelViewSet中,partial_update方法已默认实现,会自动处理PATCH请求并更新指定字段。
  • 若使用自定义视图集,需确保在@action装饰器中显式指定methods=['patch']以映射自定义动作。

示例代码片段:

from rest_framework.viewsets import ModelViewSet

class YourModelViewSet(ModelViewSet):

queryset = YourModel.objects.all()

serializer_class = YourModelSerializer

# PATCH 请求会自动路由至 partial_update 方法

def partial_update(self, request, *args, **kwargs):

return super().partial_update(request, *args, **kwargs)

 

posted on 2025-08-07 16:33  GoGrid  阅读(7)  评论(0)    收藏  举报

导航