繼承APIView父類
a、具備View的所有特性
b、提供了認證、授權、限流功能
c、將JsonResponse——》Response(如果是序列化輸出多條數據將safe=False去掉)
繼承GenericAPIView父類
1、具備View的所有特性
2、具備了認證、授權、限流功能
3、還支持對於獲取列表數據接口的功能:搜索、排序、分頁
4、一旦繼承GenericAPIView之後,就需要指定queryset、serializer_class類屬性
queryset指定當前類視圖的實例方法需要使用的查詢集對象
serializer_class指定當前類視圖的實例方法需要的序列化器類
5、在繼承了GenericAPIView的類視圖中,search_fields類屬性指定模型類中需要進行搜索過濾的字段名
注意:
1、在實例方法中,往往使用get_queryset()方法獲取查詢集對象
2、一般不會直接調用queryset類屬性,原因:為了提供讓用戶重寫get_queryset()方法
3、如果未重寫get_queryset()方法,那麼必須得指定queryset類屬性
4、在實例方法中,往往使用get_serializer方法獲取序列化器類
5、一般不會直接調用serializer_class類屬性,原因:為了提供讓用戶重寫get_serializer_class()方法
6、如果未重寫get_serializer_class()方法,那麼必須得指定serializer_class類屬性