在这种情况下如何使用 Django 迭代器

问题描述

我想在我的网站上每页显示 20 条评论

不幸的是,整个评论数约为 260,000,显示在第 10,000 页需要 3~4 秒~

我曾经像这样使用查询集:

reviews = Review.objects.all()[(page_num-1)*20:20*page_num]
.
.
.

obj['reviews'] = reviews

现在我认为使用 iterator(chunk_size=) 比上一个效率要好。

但我不知道如何正确使用 iterator()。

我绝对需要你的帮助

请告诉我...

解决方法

Django 分页:

https://docs.djangoproject.com/en/3.1/topics/pagination/

p = Paginator(objects,20)
>>> p.count
20*N
>>> p.num_pages
N
page1 = p.page(1)
page2 = p.page(2)
...
pageN = p.page(n)