Django基础知识(三)
2019-05-23 本文已影响0人
测试小懒
Django的查询集知识如下:
1、查询集表示从数据库获取的对象集合,查询集可以有多个过滤器。
2、查询集返回过程
在管理器上调用过滤器方法返回查询集;并且查询集经过过滤器筛选后返回新的查询集,可以写成链式调用。
3、过滤器
返回查询集的方法称之为过滤器。过滤器就是一个函数,基于所给的参数限制查询结果。sql角度,查询集合select等价,过滤器相当于where条件。
4、查询方法
(1)all()方法:返回查询集的所有数据
(2)filter()方法:返回符合条件的数据,filter(键=值,键=值)
(3)exclude()方法:过滤掉符合条件的数据
(4)order_by()排序
(5)get()方法:返回一个满足条件的对象
注意:没有找到符合的对象,模型类会引发一个异常DoesNotExists;如果找到多个对象,模型类也会引发一个异常MultipleObjectsReturned
(6)count()方法:返回查询集对象的个数
(7)first()方法:返回查询集中的第一个对象
(8)last()方法:返回查询集中的最后一个对象
(9)exists()方法:判断查询集中是否有数据,有true,否false
5、限制查询集
查询集返回列表,采用下标的方法进行限制,相当于sql的limit。注意:下标不能是负数
6、查询集的缓存
每个查询集都包含一个缓存,通过最小化对数据库访问。新建的查询集中,缓存首次为空,第一次对查询集求值,会发生数据缓存,Django会将查询出来的数据进行缓存并返回一个结果,以后查询直接使用查询集的结果。
7、比较运算符
①contains包含 ②isnull,isnotnull ③in(在范围内) ④gt大于,gte大于等于 ⑤lt小于,lte小于等于