DRF框架之mixins
阿新 • • 發佈:2020-07-19
一、ListModelMixin
1.引入方式
from rest_framework.mixins import ListModelMixin
2.原始碼對比
我們可以發現,兩處的程式碼基本一致,因此我們直接拿到使用來優化原生代碼
3.使用方法
a.檢視類繼承ListModelMixin
b.get方法中直接returnself.list(request, *args, **kwargs)
def get(self, request, *args, **kwargs): return self.list(request, *args, **kwargs)
二、CreateModelMixin
1.引入方式
from rest_framework.mixins import CreateModelMixin
2.原始碼對比
依然也是基本一致
3.使用方法
a.檢視類繼承CreateModelMixin
b.post方法中直接returnself.create(request, *args, **kwargs)
def post(self, request, *args, **kwargs): return self.create(request, *args, **kwargs)
三、RetrieveModelMixin
1.引入方式
from rest_framework.mixins importRetrieveModelMixin
2.原始碼對比
3.使用方法
a.檢視類繼承RetrieveModelMixin
b.get方法中直接returnself.retrieve(request, *args, **kwargs)
def get(self, request, *args, **kwargs): return self.retrieve(request, *args, **kwargs)
四、UpdateModelMixin
1.引入方式
from rest_framework.mixins import UpdateModelMixin
2.原始碼對比
注:這裡有一點不一樣,原始碼中有一個‘partial’,這個表示可以進行部分更新,因此update方法不僅支援全更新,也可以支援部分更新
3.使用方法
a.檢視類繼承UpdateModelMixin
b.put方法中直接returnself.retrieve(request, *args, **kwargs)
def put(self, request, *args, **kwargs): return self.update(request, *args, **kwargs)
五、DestroyModelMixin
1.引入方式
from rest_framework.mixins import DestroyModelMixin
2.原始碼對比
3.使用方法
a.檢視類繼承DestroyModelMixin
b.delete方法中直接returnself.retrieve(request, *args, **kwargs)
def delete(self, request, *args, **kwargs): return self.destroy(request, *args, **kwargs)