栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Django lazy QuerySet and pagination

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django lazy QuerySet and pagination

如果要查看发生的位置,请导入

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'}]

最终,已获取条目。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/398655.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号