首页 > 其他 > 详细

django的惰性查询

时间:2019-11-13 14:10:10      阅读:125      评论:0      收藏:0      [点我收藏+]

技术分享图片
django中的查询,在写好查询条件之后,在不调用变量的时候,sql是不会执行的,只有在调用变量的时候,才回去执行,
在一次查询之后,会把变量放进内存,下次再使用这个变量的时候就会使用内存汇总的值。
技术分享图片
可以看到,两次时间相差很大。

在python manage.py shell中进行查询,有种例外
taskHistories3 = TaskHistory.objects.only(‘createTime‘, ‘result_0‘).order_by(‘-createTime‘)[:5]

技术分享图片
这种是没有缓存的,

又缓存的是这种的
技术分享图片

因为:
Simply printing the queryset will not populate the cache. This is because the call to repr() only returns a slice of the entire queryset.
简单地打印queryset将不会填充缓存。这是因为对repr__()的调用只返回整个queryset的一部分。

django的惰性查询

原文:https://www.cnblogs.com/0916m/p/11848094.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!