3

我有一个 Flask 应用程序,我想用它显示来自 MongoDB 集合的分页数据表。但是,这个集合中可能有很多文档,所以我想懒洋洋地加载它们——只加载即将显示的那些。

我的问题是,在我的应用程序的一页上,我想分页:

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)

所以看起来我需要一个 Paginator 类,我可以简单地传入它Report,然后以某种方式指定查询信息。

谁能推荐一个解决方案?

4

1 回答 1

6

尝试使用来自flask-mongoengine的分页器 你可以像这样使用它:

paginator = Pagination(Post.objects, 1, 10)
print paginator.items
于 2013-07-08T14:56:29.433 回答