分頁器和版本控制的總結使用
阿新 • • 發佈:2018-12-20
spa sch lis number from 顯示 list queryset 出版
昨日回顧: 分頁器: 普通分頁 # 普通分頁 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
分頁器和版本控制的總結使用