【发布时间】:2016-07-28 11:04:38
【问题描述】:
我尝试对分页结果进行查询,如下所示
Model.objects.all()[start: start+page_size].
我也想知道是否还有更多页面要加载,也就是说我想知道start+page_size < Model.objects.all().count().是否有
我的问题是,如果我在这里调用all() 两次,Django 是否会执行两次相同的查询(一次用于切片操作[],一次用于count())。
另一个问题是,如果我对Model.objects.all() 像这样Model.objects.all()[2:9] 进行切片,Django 是从 DB 中获取所有数据并通过 python 切片,还是 Django 仅使用 SQL 限制获取 limit 2 to 9
【问题讨论】:
-
顺便说一句,在 Django 中进行分页的正确方法在这里docs.djangoproject.com/en/1.9/topics/pagination
-
Django 分页的工作链接:docs.djangoproject.com/en/dev/topics/pagination
标签: django django-models django-queryset