django查询集

Posted lirunsheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django查询集相关的知识,希望对你有一定的参考价值。

 

查询集

all, filter, exclude, order_by调用这些函数会产生一个查询集,QuerySet类对象可以继续调用上面的所有函数。

 

查询集特性

 

1) 惰性查询:只有在实际使用查询集中的数据的时候才会发生对数据库的真正查询。

 

2) 缓存:当使用的是同一个查询集时,第一次使用的时候会发生实际数据库的查询,然后把结果缓存起来,之后再使用这个查询集时,使用的是缓存中的结果。

 

限制查询集

 

可以对一个查询集进行取下标或者切片操作来限制查询集的结果。

 

对一个查询集进行切片操作会产生一个新的查询集下标不允许为负数

 

取出查询集第一条数据的两种方式:

 

方式

说明

b[0]

如果b[0]不存在,会抛出IndexError异常

b[0:1].get()

如果b[0:1].get()不存在,会抛出DoesNotExist异常。

 

exists:判断一个查询集中是否有数据。True False

 

 

以上是关于django查询集的主要内容,如果未能解决你的问题,请参考以下文章

Django - 查询:使用相关模型字段注释查询集

如何使用 Django 中另一个查询集的结果过滤查询集?

Django模型查询集过滤器作为一个函数

Django 数据库操作

DJANGO:从子查询集中获取父查询集

Django 内连接查询集