# 两个视图基类
APIView
GenericAPIView
# 五个视图扩展类
ListModelMixin
CreateModelMixin
RetrieveModelMixin
UpdateModelMixin
DestroyModelMixin
# 九个视图扩展子类,继承上面5个视图扩展类加视图类
ListAPIView: ListModelMixin,APIView
CreateAPIView: CreateModelMixin,APIView
ListCreateAPIView: ListModelMixin,CreateModelMixin,APIView
RetrieveAPIView: RetrieveModelMixin,APIView
UpdateAPIView: UpdateModelMixin,APIView
DestoryAPIView: DestoryModelMixin,APIView
RetrieveDestoryAPIView:RetrieveModelMixin,DestoryModelMixin,APIView
RetrieveUpdateAPIView:RetrieveModelMixin,UpdateModelMixin,APIView
RetrieveDestoryUpdateAPIView:RetrieveModelMixin,DestoryModelMixin,UpdateModelMixin,APIView
# 魔法
ViewSetMixin:重写了as_view方法,只要继承于ViewSetMixin及其子类,都需要再路由中的as_view括号内写映射关系
# 视图集
GenericViewSet:ViewSetMixin,GenericAPIView # 没有提供任何actions,但是提供了GenericAPIView的两个属性和5个方法。
ModelViewSet:ListAPIView,CreateAPIView,RetrieveAPIView,UpdateAPIView,DestoryAPIView,GenericAPIView # 提供了5个actions,2个属性和5个方法
ReadOnlyModelViewSet:ListModelMixis,RetrieveModelMixin,GenericAPIView # 提供了两个actions,读全部数据,读单条数据
ViewSet:ViewSetMixin,APIView # 需要自己写actions,填写映射关系