如何使用mongoengine进行分页?

时间:2012-11-22 05:11:52

标签: django mongodb pagination mongoengine

我有一个关于使用mongodb和mongoengine进行分页的问题。 我有一张桌子,将来会有数百万张唱片。我这样做分页。

我不确定这是正确的方法

    list = Books.objects.all()
    paginator = DiggPaginator(list, 20, body = 10, tail = 2)

这里我打开整个表格,然后进行分页,然后我们再次进行下一页代码运行并带来第二页或任何页面。

这是正确的方法还是有更好的方法来做到这一点。

2 个答案:

答案 0 :(得分:19)

您可以使用QuerySet中的skiplimit来实现分页。
例如,如果要显示第二页,每页限制为10个项目,您可以这样做:

page_nb = 2 
items_per_page = 10 

offset = (page_nb - 1) * items_per_page

list = Books.objects.skip( offset ).limit( items_per_page )

答案 1 :(得分:1)

flask-mongoengine插件有一个paginator示例,您可以根据digg分页符进行调整。