其中, APIView 支持的一些属性:
authentication_classes
可以是列表或元祖
用于身份认证
permissoin_classes
可以是列表或元祖
用于权限检查
throttle_classes
可以是列表或元祖
用于进行流量控制
GenericAPIView 扩展的功能:
功能一: serializer_class
这个属性一旦指定之后, 我们就可以调用和这个属性相关的函数 :
1.get_serializer_class( ) 获取序列化器类
2.get_serializer( ) 获取序列化器对象
2.get_serializer( ) 获取序列化器对象
总结:
作用: 获取序列化器对象使用: 主要用来提供给Mixin扩展类使用,如果我们在视图中想要获取序列化器对象,也可以直接调用此方法。
注意,获取到的序列化对象的context属性中有三个数据:request、format、view,这三个数据可以在定义序列化器时使用。
request 当前视图的请求对象
view 当前请求的类视图对象
format 当前请求期望返回的数据格式
功能二: queryset 查询集
这个属性的相关方法
1.get_queryset( ) 返回视图使用的查询集
当然,我们可以重写get_queryset( )方法,根据不同的操作返回 不同的查询集
2.get_object( ) 可以通过这个方法, 获取对应的某一个模型类对象,pk (def get(self, request, pk): # 获取 pk 这个 key 所对应 的模型类对象.)