分页器和版本控制的总结使用
Posted cao123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分页器和版本控制的总结使用相关的知识,希望对你有一定的参考价值。
昨日回顾: 分页器: 普通分页 # 普通分页 from rest_framework.pagination import PageNumberPagination -每页的大小(默认) -查询的时候,按哪个字段查 -当前页的每页大小(用户指定的) -每页显示最大条数 -写一个类继承分页类,重写属性 -使用的时候: -实例化出一个分页器对象 -返回值=对象.paginate_queryset(book_list, request, self) -序列化(返回值) -return序列化之后的值 偏移分页 # 偏移分页 from rest_framework.pagination import LimitOffsetPagination -每页的大小:default_limit -标杆值offset -偏移值limit -最大偏移的数:max_limit 加密分页(速度快) # 加密分页 from rest_framework.pagination import CursorPagination -写一个类继承分页类,重写属性 -cursor_query_param:以该字段配置的值查询 -ordering 按哪个字段排序 版本控制: -URLPathVersioning -版本直接放在路由中,配置路由 url(r‘^(?P<version>[v1|v2|v3]+)/books/$‘, views.Book.as_view({‘get‘:‘get_all‘}),name=‘ttt‘), -在setting中配置 ‘VERSION_PARAM‘:‘version‘, #根据哪个键取查询 ‘DEFAULT_VERSION‘:‘v1‘, #默认的版本号 ‘ALLOWED_VERSIONS‘: [‘v1‘, ‘v2‘], #允许的版本号 -在视图类中:局部使用 versioning_class = URLPathVersioning -在request对象中,可以取出版本request.version -反向解析 -因为request对象能取出版本号,内部自动填入 -url2=request.versioning_scheme.reverse(‘ttt‘,request=request) -如果是路由有别的有名/无名分组,需要手动传过去 -QueryParameterVersioning
以上是关于分页器和版本控制的总结使用的主要内容,如果未能解决你的问题,请参考以下文章