一.单表查询
1. 返回queryset对象的查询
all() 以列表形式返回全部queryset对象
filter(**kwargs) 筛选
exclude(**kwargs) 排除
reverse() 反转
order_by(field) 排序
distinct() 去重
2. 特殊的queryset对象
values(field) 返回一个可迭代的装有字典的列表
values_list(field) 返回一个可迭代的装有元组的列表
3. 返回具体对象
get(**kwargs) 只能获取一个对象,匹配到多个或没有会报错
first() 第一个,等价于all()[0]
last() 最后一个
4. 返回布尔值
exists() 判断对象列表是否为空
5. 返回数字
count() 计数,返回对象列表的个数
二. 双下划线模糊查询__
对关键字查询的约束
1. 数字查询
id__gt=10 id大于10的 gte是大于等于
id__lt=10 id小于10的 lte是小于等于
id__range=[10,20] id在10-20之间的
id__in=[10,20] id为10或者20的
2. 字符串查询
title__contains="string" 字符串中包含string的,icontains区分大小写
title__startswith="str" 以str开头的字符串,istartswith区分大小写
title__endswith="ing" 以ing结尾的字符串,iendswith区分大小写
3. 日期
date__year=2019 日期是2019年的,month月,day日