Django的ORM使用filter以及Paginator分页器

介绍前端传递参数到后端,利用Django对质量数据进行排序、过滤(如按省份),并使用分页器展示数据的过程。
摘要由CSDN通过智能技术生成
# 前端传输过来`currentPage`当前页和`pageSize`每页大小两个参数
currentPage = requestData.get('currentPage', 1)
pageSize = requestData.get('pageSize', 10)

# 获取一下数据对象,重点要进行**排序**
qualityFilterObj = QualityData.objects.order_by('datetime')
# 如果有其他筛选条件的话可以继续加,比如说筛选省份
qualityFilterObj = qualityFilterObj.filter(province=province)

#开始使用分页器
qualityFiltyPaginator = Paginator(qualityFiltyObj.all(), pageSize)
# 分页器带有的属性,count数据总数,num_pages分了多少页,page_range 页码的列表,比如 [1,2,3,4]
print(qualityFiltyPaginator.count, qualityFiltyPaginator.num_pages)
# 根据前端传过来的页码,用get_page函数,获取某一页数据
currentPageObj = qualityFiltyPaginator.get_page(currentPage)
# get_page取出来的是这一页的对象,用object_list.values()取得这一页的具体数据
currentValues = currentPageObj.object_list.values()

return list(currentValues)
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值