django rest framework 过滤 lim分页
一.过滤
1.首先引用diango 自带的过滤配置
2.导入模块
from django_filters.rest_framework import DjangoFilterBackend
from django_filters import rest_framework as filters
3.一种简单的过滤:
class BookView(ModelViewSet):
queryset = Book.objects.all()
serializer_class = BookSerializer filter_backends = (DjangoFilterBackend,)
filter_fields = ('title', 'price')
通过在浏览器后面带上?price=100, 就可以精确过滤
自定义过滤
通过自己创建的过滤类来实现自定义过滤
class ProductFilter(filters.FilterSet):
# 最小
min_price = filters.NumberFilter(field_name="price", lookup_expr="gte")
# 最大
max_price = filters.NumberFilter(field_name="price", lookup_expr="lte")
# 包含
name = filters.CharFilter(field_name="title", lookup_expr="icontains")
# 通过?字段自定义过滤
class Meta:
model = Book
fields = ["min_price", "max_price", "name"]
BookViews
class BookView(ModelViewSet):
queryset = Book.objects.all()
serializer_class = BookSerializer filter_backends = (DjangoFilterBackend,)
# 自定义过滤类
filter_class = ProductFilter
LimitOffset分页
引入模块
from rest_framework.pagination import LimitOffsetPagination
输入代码
class P1(LimitOffsetPagination):
max_limit =
default_limit =
# 从offset开始访问的下几个
limit_query_param = "limit"
# 定义从表中的offset开始计算
offset_query_param = "offset" class IndexView2(APIView):
def get(self, request, *args, **kwargs):
user_list = Book.objects.all()
p1=P1()
page_user_list = p1.paginate_queryset(queryset=user_list, request=request, view=self)
print("打印的数据", page_user_list)
ser = BookSerializer(instance=page_user_list, many=True)
# return Response(ser.data)
# 自带分页
return p1.get_paginated_response(ser.data) class BookView(ModelViewSet):
queryset = Book.objects.all()
serializer_class = BookSerializer filter_backends = (DjangoFilterBackend,)
# 自定义过滤类
filter_class = ProductFilter filter_fields = ('title', 'price')
# pagination_class = MyPageNumberPagination # authentication_classes = [UserAuth]
# permission_classes = [UserPerm]
django rest framework 过滤 lim分页的更多相关文章
- Django REST framework基础:分页
DRF分页组件 为什么要使用分页 我们数据表中可能会有成千上万条数据,当我们访问某张表的所有数据时,我们不太可能需要一次把所有的数据都展示出来,因为数据量很大,对服务端的内存压力比较大还有就是网络传输 ...
- Django Rest framework 之 分页
RESTful 规范 django rest framework 之 认证(一) django rest framework 之 权限(二) django rest framework 之 节流(三) ...
- Django Rest Framework源码剖析(七)-----分页
一.简介 分页对于大多数网站来说是必不可少的,那你使用restful架构时候,你可以从后台获取数据,在前端利用利用框架或自定义分页,这是一种解决方案.当然django rest framework提供 ...
- Django rest framework(7)----分页
目录 Django rest framework(1)----认证 Django rest framework(2)----权限 Django rest framework(3)----节流 Djan ...
- django rest framework实现分页功能
在web开发中很多需求都需要实现分页功能,然而 Django Rest Framework 自带的分页功能,只能在 mixins.ListModelMixin and generics.Generic ...
- django: django rest framework 分页
django: django rest framework 分页 2018年06月22日 13:41:43 linux_player_c 阅读数:665更多 所属专栏: django 实战 版权声 ...
- [Django REST framework - 自动生成接口文档、分页]
[Django REST framework - 自动生成接口文档.分页] 自动生成接口文档 # 后端人员写好接口,编写接口文档,给前端人员看,前端人员依照接口文档开发 # 公司里主流 -后端,使用w ...
- 用Django Rest Framework和AngularJS开始你的项目
Reference: http://blog.csdn.net/seele52/article/details/14105445 译序:虽然本文号称是"hello world式的教程&quo ...
- Django REST framework+Vue 打造生鲜超市(四)
五.商品列表页 5.1.django的view实现商品列表页 (1)goods/view_base.py 在goods文件夹下面新建view_base.py,为了区分django和django res ...
随机推荐
- Vue生命周期钩子---2
vue生命周期简介 咱们从上图可以很明显的看出现在vue2.0都包括了哪些生命周期的函数了. 生命周期探究 对于执行顺序和什么时候执行,看上面两个图基本有个了解了.下面我们将结合代码去看看钩子函数的执 ...
- Centos 7 LAMP+wordpress
一.简介 LAMP--->Linux(OS).Apache(http服务器),MySQL(有时也指MariaDB,数据库) 和PHP的第一个字母,一般用来建立web应用平台. 它是 ...
- SpringBoot之异步定时任务
如果每个Scheduled方法是同步执行的,万一有一个发生死锁,那么其他任务就没法执行,下面介绍异步定时任务 异步定时任务 Spring为任务调度与异步方法执行提供了注解支持,即通过在方法上设置@As ...
- Python学习笔记5 【转载】基本矩阵运算_20170618
需要 numpy 库支持 保存链接 http://www.cnblogs.com/chamie/p/4870078.html 1.numpy的导入和使用 from numpy import *;#导入 ...
- jTopo介绍(一)
jTopo(Javascript Topology library)是一款完全基于HTML5 Canvas的关系.拓扑图形化界面开发工具包.jTopo关注于数据的图形展示,它是面向开发人员的,需要进行 ...
- 《阿里如何实现秒级百万TPS?搜索离线大数据平台架构解读》--阅读
离线?在阿里搜索工程体系中我们把搜索引擎.在线算分.SearchPlanner等ms级响应用户请求的服务称之为“在线”服务:与之相对应的,将各种来源数据转换处理后送入搜索引擎等“在线”服务的系统统称为 ...
- layer icon样式及 一些弹框使用方法
一.layer的icon样式 以上样式测试代码: layer.confirm('icon测试', {icon: 1, title:'提示'}, function(index){ //do someth ...
- mysqltest语法整理
1. mysqltest是mysql自带的测试引擎, 它实现了一种小语言,用来描述测试过程,并将测试结果与预期对比. 小语言按照语法大致分为三类:mysql command,sql,comment.s ...
- Python 数据处理之对 list 数据进行数据重排(为连续的数字序号)
Python 数据处理之对 list 数据进行数据重排(为连续的数字序号) # user ID 序号重新排,即,原来是 1,3,4,6 ,排为 1,2,3,4 # item ID 序号重新排,too ...
- HBase开发错误记录(java.net.UnknownHostException: unknown host: hadoop111)
windows下开发HBase应用程序,HBase部署在linux环境中, 在运行调试时可能会出现无法找到主机,类似异常信息如下: java.net.UnknownHostException: unk ...