limit、offset、slice使用
limit
:可以限制查询的时候只查询前几条数据。 属top-N
查询
articles = session.query(Article).limit(10).all()
offset
:可以限制查找数据的时候过滤掉前面多少条。可指定开始查询时的偏移量。
articles = session.query(Article).offset(10).limit(10).all()
切片
:可以对Query
对象使用切片操作,来获取想要的数据。
可以使用slice(start,stop)
方法来做切片操作。
也可以使用[start:stop]
的方式来进行切片操作。
一般在实际开发中,中括号的形式是用得比较多的。
#实现分页
articles = session.query(Article).order_by(Article.id.desc()).slice(0,10).all()
# 等价
articles = session.query(Article).order_by(Article.id.desc())[0:10]