- 常用方法
all(): 查询所有结果
filter(**kwargs): 它包含了与所给筛选条件相匹配的对象
get(**kwargs):返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。
exclude(**kwargs):它包含了与所给筛选条件不匹配的对象
values(*field): 返回一个ValueQuerySet——一个特殊的QuerySet,
运行后得到的并不是一系列model的实例化对象,而是一个可迭代的字典序列
values_list(*field): 它与values()非常相似,它返回的是一个元组序列
order_by(*field): 对查询结果排序
reverse(): 对查询结果反向排序,请注意reverse()通常只能在具有已定义顺序的QuerySet上调用(在model类的Meta中指定ordering或调用order_by()方法)。
count(): 返回数据库中匹配查询(QuerySet)的对象数量。
first(): 返回第一条记录
last(): 返回最后一条记录
exists(): 如果QuerySet包含数据,就返回True,否则返回False
- 双下划线使用
xx__lt : 小于
例如:id__lt =2,获取 id小于2的所有记录。
扩展: xx_lte = 2 小于等于2
xx__gt : 大于
扩展:
- .xx_gte=30 大于等于30
- .查找大于等于20 小于等于30的所有记录。
xx__in: 包含某些值
例如获取年龄是11,32的记录
扩展:不包含
xx__contains(): 包含某个字符的记录
扩展: xx_icontains() 忽略大小写
xx__range(): 查找范围
查找年龄在20 至 30之间的所有记录
xx__startswith : 获取 以 xx开头的记录
Xx__endswith : 获取以xx结尾的记录
Xx__date类型字段可以根据年月日进行过滤
- 一对多关系设置
模型类:
- 查询
- 增加操作
- 删除操作
- 修改操作