一个用于GAE数据库分页的模块

标签:Google App Engine, Python

由于GAE一次最多只能查询1000条数据,且用偏移量会影响性能,因此大部分情况下都要对key进行排序。

刚才在GAE Cookbook发现了一篇《Efficient paging for any query and any model》,用起来非常简单,可以极大降低分页的复杂性。

首先是去下载这个分页模块.

引入后这样进行查询:
bookmark = request.GET['bookmark']

query = PagerQuery(ModelClass).filter('foo >', 'bar') \ # ModelClass就是查询的模型
                              .filter('baz =', 'ding') \
                              .order('foo')

prev, results, next = query.fetch(10, bookmark)
拿到的results就是查询结果,而prev和next则是分页的url,可以在模板文件中这样使用:
http://localhost:8080/?bookmark={{ prev }}
http://localhost:8080/?bookmark={{ next }}

0条评论 你不来一发么↓

    想说点什么呢?