如果要查看发生的位置,请导入
django.db.connection并检查
queries
>>> from django.db import connection>>> from django.core.paginator import Paginator>>> queryset = Entry.objects.all()
让我们创建分页器,看看是否发生任何查询:
>>> paginator = Paginator(queryset, 10)>>> print connection.queries []
还没有。
>>> page = paginator.page(4)>>> page<Page 4 of 788>>>> print connection.queries [{'time': '0.014', 'sql': 'SELECt COUNT(*) FROM `entry`'}]创建页面产生了一个查询,以计算查询集中有多少个条目。尚未提取条目。
将页面的对象分配给变量“对象”:
>>> objects = page.object_list>>> print connection.queries[{'time': '0.014', 'sql': 'SELECt COUNT(*) FROM `entry`'}]这仍然没有导致条目被提取。
HttpResponse从对象列表生成
>>> response = HttpResponse(page.object_list)>>> print connection.queries[{'time': '0.014', 'sql': 'SELECt COUNT(*) FROM `entry`'}, {'time': '0.011', 'sql': 'SELECt `entry`.`id`, <snip> FROM `entry` LIMIT 10 OFFSET 30'}]最终,已获取条目。



