码迷,mamicode.com
首页 > 其他好文 > 详细

Django——惰性机制

时间:2019-10-31 21:57:57      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:query   需要   sql   返回   创建   命令   for   div   bsp   

Django惰性机制

  所谓惰性机制:Publisher.objects.all()或者.filter()等都只是返回了一个QuerySet(查询结果集对象),

  它并不会马上执行sql,而是当调用QuerySet的时候才执行。

了解什么是QuerySet?

  QuerySet是查询集,就是传到服务器上的url里面的查询内容。

  Django会对查询返回的结果集QuerySet进行缓存,这是为了提高查询效率。

  也就是说,在你创建一个QuerySet对象的时候,Django并不会立即向数据库发出查询命令,只有在你需要用到这个QuerySet的时候才会这样做。

QuerySet的两个特点:

  1迭代 

1 def list(request):
2     obj_li = models.Book.objects.all()
3     for item in obj_li[1:3]:    # 每一obj就是一个行对象,此时会执行sql
4         print (item.name)

  2切片

1 # objs=models.Book.objects.all() # [obj1,obj2,ob3...]
2 # print(objs[1])
3 # print(objs[1:4])
4 # print(objs[::-1])

 

Django——惰性机制

标签:query   需要   sql   返回   创建   命令   for   div   bsp   

原文地址:https://www.cnblogs.com/jiekesi/p/11773508.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!