高效的分页与瓶和Mongoengine
问题描述:
我有一个Flask应用程序,我想要显示来自MongoDB集合的分页表数据。但是,这个集合中可能有很多文档,所以我想暂时加载它们 - 只加载即将显示的文档。高效的分页与瓶和Mongoengine
我的问题是,在我的应用程序在一个页面上,我想分页:
Stuff.objects()
但在不同的页面,我想分页:
Stuff.objects(__raw__=query)
或Stuff.objects(message__in=Message.objects(__raw__=query))
调用这些特定函数会自动将所有相关对象加载到内存中(正如我通过运行locals()
发现的),所以我需要分页他呼吁有:
Stuff.objects().skip(number).limit(pagelength)
,或 Stuff.objects(__raw__=query).skip(number).limit(pagelength)
所以它似乎我需要一个分页程序类,我可以简单地传递到Report
,然后以某种方式指定查询的信息。
任何人都可以推荐一个解决方案吗?
答
尝试使用从flask-mongoengine的paginator您可以使用它像这样:
paginator = Pagination(Post.objects, 1, 10)
print paginator.items
你见过这个片段? http://flask.pocoo.org/snippets/44/ – codegeek