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+加上items
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。