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

Django 惰性机制

时间:2019-11-03 18:38:34      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:对象   orm   queryset   size   存在   过滤器   div   code   col   

惰性机制

了解所谓的惰性机制:

  Publisher.objects.all()或者.filter()等都只是返回了一个QuerySet(查询结果集对象),它并不会马上执行sql,而是当调用QuerySet的时候才执行sql。

了解什么是QuerySet?

  Django的ORM中存在查询集的概念(查询集也被称作为结果集),QuerySet 表示从数据库中获取的对象集合,

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

Django返回查询集可以调用如下过滤器:

  all():    返回所有数据;

  filter():    返回满足条件的数据;

  order_by():      对结果进行倒序;

  exclude():   返回满足条件之外的数据

 

QerySet 的两大特性:

迭代

obj_li=models.Book.objects.all()      #如Book中有[1,2,3,4,5]   
for a in obj_li:     # 每一个a就是一个行对象,此时会执行sql
    print(a)        

切片

obj_li=models.Book.objects.all()     # [1,2,3,4,5.......]
print(obj_li[1])
print(obj_li[1:4])
print(obj_li[::-1])

 

 

Django 惰性机制

标签:对象   orm   queryset   size   存在   过滤器   div   code   col   

原文地址:https://www.cnblogs.com/tisnk/p/11788066.html

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