我有一个 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
传递给它,然后以某种方式指定查询信息。
谁能推荐一个解决方案?
最佳答案
尝试使用 paginator来自 flask-mongoengine你可以像这样使用它:
paginator = Pagination(Post.objects, 1, 10)
print paginator.items
关于pagination - 使用 Flask 和 Mongoengine 实现高效分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17528633/