python django 模型查询

1查询集表示从数据库获取的对象集合

2查询集可以有多个过滤器

3过滤器就是一个函数,基于所给的参数限制查询集结果

4从sql角度来说,查询集合select语句等价,过滤器就像where条件

查询集

一在管理器上调用过滤器方法返回查询集

二查询集经过过滤器筛选后返回新的查询集,所以可以写成链式调用

三惰性执行 创建查询集不会带来任何数据的访问,直到调用数据时,才会访问数据

四直接访问数据的情况

1 迭代

2 序列化

3与if合用

五返回查询集的方法称为过滤器

1all() 返回查询集中的所有数据

2filter() 1filter(键=值,键=值) 2filter(键=值).filter(键=值)3保留符合 条件的数据4filter(键=值)

3exclude() 过滤掉符合条件的数据

4order——by 排序

5 values 一个字典就是一个对象(字典)返回一个列表

六返回单个数据

1 get() 返回一个满足条件的对象

注意 如果没有找到符合条件的对象,会引发模型类DoesNotExist异常

如果找到多个对象,会引发模型类MultipleObjectsRetumed异常

2count() 返回当前查询集中的对象个数

3first()返回查询集中的第一个对象

4last() 返回查询集中是否有数据,如果有数据返回ture

5exists() 判断查询集中是否有数据,如果有数据返回true

七限制查询集 查询集返回列表,可以使用下标的方法进行限制,等同于sql中的limit语句

studentsList = Students.stuObj2.all()[0:5]

八查询集的缓存 概述 每个查询集都包含一个缓存,来最小化的对数据库访问

在新建的查询集中,缓存首次为空,第一次对查询集求值,会发生数据缓存,django会将查询出来的数据做一个缓存,并返回结构,以后的查询直接使用查询集的缓存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值