get:返回一条且只能有一条数据,返回值是一个对象,参数可以写查询条件。
all:返回模型类对应表的所有数据,返回值是QuerySet(查询集)。
filter:返回满足条件的数据,返回值是QuerySet,参数可以写查询条件。
exclude:返回不满足条件的数据,返回值是QuerySet,参数可以写查询条件。
order_by:对查询结果进行排序,返回值是QuerySet,参数中写排序的字段。
注意:
1.get,filter,exclude函数中可以写查询条件,如果传多个参数,条件之间代表且的关系。
2.all,filter,exclude,order_by函数的返回值是QuerySet类的实例对象,叫做查询集。
使用F对象和Q对象之前先导入:
from django.db.models import F/Q
F对象:用于类属性之间的比较
Q对象:用于条件之间的逻辑关系
aggregate:进行聚合操作,返回值是一个字典,进行聚合的时候需要先导入聚合类。
count:返回结果集中数据的数目,返回值是一个数字。
注意:
对一个QuerySet实例对象,可以继续用上面的所有函数。
查询集特性:
1)惰性查询:只有在实际使用查询集中的数据的时候才会发生对数据库的真正查询。
2)缓存:当使用的是同一个查询集时,第一次使用的时候会发生实际数据库的查询,然后把结果缓存起来,之后再使用这个查询集时,使用的是缓存中的结