sqlalchemy中使用query查询,而flask-sqlalchemy中使用basequery查询,他们是子类与父类的关系
1.用offset()设置索引偏移量,limit()限制取出量
db.session.query(User.name).filter(User.email.like(+email+)).limit(page_size).offset((page_index-1)*
2.用slice(偏移量,取出量)函数
db.session.query(User.name).filter(User.email.like(+email+)).slice((page_index – 1) * page_size,page_index *
注释:此方法和第一种相同的效果。
因为:由一下内部方法可知,slice()函数第一个属性就是offset()函数值,第二个属性就是limit()函数值
<span style="color: #0000ff;">if</span> start <span style="color: #0000ff;">is</span> <span style="color: #0000ff;">not</span> None <span style="color: #0000ff;">and</span> stop <span style="color: #0000ff;">is</span> <span style="color: #0000ff;">not</span><span style="color: #000000;"> None:
self._offset </span>= (self._offset <span style="color: #0000ff;">or</span> 0) +<span style="color: #000000;"> start
self._limit </span>= stop -<span style="color: #000000;"> start
</span><span style="color: #0000ff;">elif</span> start <span style="color: #0000ff;">is</span> None <span style="color: #0000ff;">and</span> stop <span style="color: #0000ff;">is</span> <span style="color: #0000ff;">not</span><span style="color: #000000;"> None:
self._limit </span>=<span style="color: #000000;"> stop
</span><span style="color: #0000ff;">elif</span> start <span style="color: #0000ff;">is</span> <span style="color: #0000ff;">not</span> None <span style="color: #0000ff;">and</span> stop <span style="color: #0000ff;">is</span><span style="color: #000000;"> None:
self._offset </span>= (self._offset <span style="color: #0000ff;">or</span> 0) +<span style="color: #000000;"> start
</span><span style="color: #0000ff;">if</span> self._offset ==<span style="color: #000000;"> 0:
self._offset </span>=<span style="color: #000000;"> None
@_generative(_no_statement_condition)
</span><span style="color: #0000ff;">def</span><span style="color: #000000;"> limit(self,limit):
</span><span style="color: #800000;">"""</span><span style="color: #800000;">Apply a ``LIMIT`` to the query and return the newly resulting
``Query``.
</span><span style="color: #800000;">"""</span><span style="color: #000000;">
self._limit </span>=<span style="color: #000000;"> limit
@_generative(_no_statement_condition)
</span><span style="color: #0000ff;">def</span><span style="color: #000000;"> offset(self,offset):
</span><span style="color: #800000;">"""</span><span style="color: #800000;">Apply an ``OFFSET`` to the query and return the newly resulting
``Query``.
</span><span style="color: #800000;">"""</span><span style="color: #000000;">
self._offset </span>= offset</pre>
3.用paginate(偏移量,取出量)函数,用于BaseQuery
user_obj=User.query.filter(User.email.like(+email+
object_list =user_obj.items
4.filter中使用limit
db.session.query(User.name).filter(User.email.like(+email+) limit (page_index – 1) *
http://www.cnblogs.com/rgcLOVEyaya/p/RGC_LOVE_YAYA_350days.html