一,ListModelMixin
- 提供list(request,args,*kwargs)方法
- 获取已经存在的列表数据(获取多条记录)
-
1,引入方式
from rest_framework.mixins import ListModelMixin
2,源码对比
3,使用方法
视图类继承ListModelMixin
get方法中直接return self.list(request,args,*kwargs)
def get(self, request, *args, **kwargs):
return self.list(request, *args, **kwargs)
二,CreateModelMixin
提供create(request,args,*kwargs)方法
- 创建新的模型实例(创建新的记录)
- 创建成功,返回201,created
-
1,引入方式
from rest_framework.mixins import CreateModelMixin
2,源码对比
3,使用方法
视图类继承CreateModelMixin
post方法中直接 return self.create(request,args,*kwargs)
三,RetrieveModelMixin
提供retrieve(request,args,*kwargs)方法
- 获取已存在的详情数据(一跳记录)
- 获取成功,返回200 ok
-
1,引入方式
from rest_framework.mixins import RetrieveModelMixin
2,原码对比
3,使用方法
视图类继承RetrieveModelMixin
get方法中直接return self.retrieve(request,args,*kwargs)
def get(self, request, *args, **kwargs):
return self.retrieve(request, *args, **kwargs)
四,UpdateModelMixin
提供update(request,args,*kwargs)方法用于全更新
- 提供partail_update(request,args,*kwargs)方法,用户部分更新,支持PATCH
- 更新成功 返回200 OK
- 如果请求参数有误,返回 404 Bad Request
-
1,引入方式
from rest_framework.mixins import UpdateModelMixin
2,原码对比
这里有一点不一样,原码中有一个 partial 这个表示可以进行部分更新,因此update方法不仅支持全更新,也可以支持部分更新3,使用方法
视图类继承UpdateModelMixin
put方法中直接return self.retrieve(request,args,*kwargs)
def put(self, request, *args, **kwargs):
return self.update(request, *args, **kwargs)
五,DestoryModelMixin
提供destory(request,args,*kwargs)方法
- 删除一条已经存在的数据
- 删除成功,返回204 no content
-
1,引入方式
from rest_framework.mixins import DestroyModelMixin
2,原码对比
3,使用方法
视图类继承DestoryModelMixin
- delete方法中直接return self.retrieve(request,args,*kwargs)
def delete(self, request, *args, **kwargs):
return self.destroy(request, *args, **kwargs)