两个视图基类
APIView
GenericAPIView
ViewSet
1 2 3 4 5 6 7 8 9 10 11 12 13
| ViewSetMixin ViewSet(ViewSetMixin,APIView) GenericViewSet(ViewSetMixin,GenericAPIView) ReadOnlyModelViewSet(RetrieveModelMixin, ListModelMixin, GenericAPIView)
ModelViewSet(CreateModelMixin, RetrieveModelMixin, UpdateModelMixin, DestroyModelMixin, ListModelMixin, GenericViewSet)
|
‘“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“
五个视图扩展类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| CreateModelMixin - create
ListModelMixin - list
RetrieveModelMixin - retrieve
UpdateModelMixin - update - perform_update - partial_update
DestroyModelMixin - destroy - perform_destroy
|
九个视图扩展子类,继承上面5个视图扩展类加视图类
View(Django) -> dispatch -> 对应的视图方法
1 2 3 4 5 6 7 8 9
| 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
|
视图集
1 2 3 4
| GenericViewSet:ViewSetMixin,GenericAPIView ModelViewSet:ListAPIView,CreateAPIView,RetrieveAPIView,UpdateAPIView,DestoryAPIView,GenericAPIView ReadOnlyModelViewSet:ListModelMixis,RetrieveModelMixin,GenericAPIView ViewSet:ViewSetMixin,APIView
|
__END__