python / flask sqlAlchemy 分页查询paginate实现举例,分页方式使用不当报404错误
from sqlalchemy.orm import aliased
from sqlalchemy import func
#方式一,db.session.query查询
#Order、Emp、Cust需要自定义,常规自db.Model
Emp1 = aliased(Emp) #关联查询,非必须
page_size = 20
page_index = 1 #start from 1, not 0
#查询总行数
record_count =db.session.query(func.count(Order.id)).scalar()
#查询指定分页的数据
data_items = dbconn.session.query(Order, Emp1).outerjoin(Emp1, Emp1.id == Order.emp_id).limit(page_size).offset((page_index - 1) * page_size).all()
#分页信息设置,PageInfo需要自定义
page_info=PageInfo()
page_info.page = page_index #当前页码
page_info.pages = int(record_count / page_size 1) #页数
page_info.total = record_count #总行数
page_info.has_prev = page_index > 1 #不是第一页时,允许前翻
page_info.has_next = page_index >= 1 and page_index < page_info.pages #不是最后一页时,允许后翻
page_info.size = page_size #每页行数
page_num_list=[]#页码列表
for i in range(page_info.pages):
page_num_list.append(i 1)
page_info.iter_pages = page_num_list
#查询结果数据在 data_items中
#
#
#----------------- db.session.query查询模式结束 ------------
#--------- db.Model对象.query查询模式
page_size = 20
page_index = 1 #start from 1, not 0
data_items_page = Cust.query.paginate(page_index, page_size, error_out=True)
page_info=PageInfo()
page_info.page = data_items_page.page
page_info.pages = data_items_page.pages
page_info.total = data_items_page.total
page_info.has_prev = data_items_page.has_prev
page_info.has_next = data_items_page.has_next
page_info.size = page_size
page_num_list=[]#页码列表
p_iter=data_items_page.iter_pages()
for i in p_iter:
page_num_list.append(i)
page_info.iter_pages = page_num_list
#查询结果数据在 data_items_page.items中
#
#---------- 结束 ------------------
参考:sqlAlchemy的查询分页和获取总条数_qq5a166ea6303da的技术博客_51CTO博客
本文谢绝任何形式的转载,感谢关注。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhggfake
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13