码迷,mamicode.com
首页 > 其他好文 > 详细

分页器和版本控制的总结使用

时间:2018-12-19 22:36:15      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:books   ret   parameter   query   大小   最大   list   port   总结   

昨日回顾:
    分页器:
        普通分页    
            # 普通分页
            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

 

分页器和版本控制的总结使用

标签:books   ret   parameter   query   大小   最大   list   port   总结   

原文地址:https://www.cnblogs.com/cao123/p/10146513.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!