查询集

查询集表示从数据库中获取的对象集合,在管理器上调用某一些过滤器方法会返回查询集,查询集可以包含0个或者多个,过滤器基于所给的参数限制查询结果,查询集类似select语句。
返回查询集的过滤器:
all(): 返回所有数据
filter() : 返回满足条件的数据
execlude(): 返回满足条件之外的数据
order_by():对结果进行排序,如:order_by('num'),逆序order_by('-num')

返回单个值的过滤器:
get(): 返回单个满足条件的对象
# 如果未找到,引发”模型类. DoesNotExist" 异常
# 如果多条结果返回“模型类.Multiple.ObjectsReturned" 异常
count(): 返回当前查询结果的总条数
aggregate(): 聚合,返回一个字典

判断某一个查询集中是否有数据
exists(): #有数据就返回True,没有数据就返回False


查询集的两个特性:
1. 惰性执行:创建查询集不会访问数据库,直到调用数据时,才访问数据库,调用数据的情况包
括迭代,序列化,与if合用。
2. 缓存:使用同一个查询集,第一次使用时会发生数据库的查询,然后把结果缓存下来,再次使
用这个查询集时会使用缓存数据。


限制查询集:可以对查询集进行取下标或者切片操作,但是不支持负数的索引。
. books = BookInfo.objects.all()[0:2]
print(type(books)) # <class 'd
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值