一 、GenericAPIView
GenericAPIView: 继承了APIView,在API的基础上增加了一些功能,比如get_queryset、get_object等 后续的开发中,一般不会直接使用他,中间人的作用
案例1:
测试:
案例2:
测试:
二、GenericViewSet
案例:
测试:
三、mixins中的5个视图类
四、ModelViewSet
在第三节,mixins中的5个视图类分别实现了增删改查,但是如果一个业务的视图类中需要同时实现增删改查,那么继承的时候需要继(GenericViewSet,ListModelMixin,CreateModelMixin,RetrieveModelMixin,UpdateModelMixin,DestroyModelMixin), 非常繁琐,ModelViewSet简化了这段代码,ModelViewSet直接继承了GenericViewSet和mixins中的5个视图类,所以在写业务代码的时候,直接继承ModelViewSet即可
问题:drf中提供了这么多的视图类,以后哪个用的比较多?
接口与数据库操作无关,直接继承APIView
接口与需要与数据库交互,就使用mixins中的视图类或者ModelViewSet
根据业务,可能会需要自定义mixins中的视图类或者ModelViewSet