6、exclude(age__in=[11,32]) 不包含
7、 xx__contains() (包含某个字符的记录)和xx__icontains() (忽略大小写的包含)
9、xx__startwith (获取以xx开头的记录) xx__istartwith(获取以xx开头的记录,忽略大小写)
10、xx__endwith( 获取以xx结尾的记录) xx__iendwith(获取以xx结尾的记录,忽略大小写)
一、models对象常用的方法
1、all()
查询所有结果 QuerySet对象,输出结果的数据类型是一个列表类型,列表中的元素对应每一行的元素
2、filter(**kwargs)
包含所有筛选条件符合的对象 输出结果的数据类型是一个列表类型,列表中的元素对应每一行的元素
3、get(**kwargs)
返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。
4、exclude(**kwargs)
它包含了与所给筛选条件不匹配的对象 返回的是一个QuerySet对象,是一个列表,列表内部是对应的每行元素的对象
5、values(*field)
返回一个ValueQuerySet——一个特殊的QuerySet,运行后得到的并不是一系列model的实例化对象,而是一个可迭代的字典序列 返回的是一个QuerySet对象,是一个列表,列表中嵌套的的是行元素组成的字典
6、values_list(*field)
它与values()非常相似,它返回的是一个元组序列,返回的是一个QuerySet对象,是一个列表,列表中嵌套的的是行元素中的值,每个值组成的元组形式
7、order_by(*field)
对查询结果排序 返回的是一个QuerySet对象,是一个列表,列表中嵌套的是排序后的结果对象
8、reverse()
对查询结果反向排序,请注意reverse()通常只能在具有已定义顺序的QuerySet上调用(在model类的Meta中指定ordering或调用order_by()方法)。返回的是一个QuerySet对象,是一个列表,列表中嵌套的是排序后的结果对象
9、count()
返回数据库中匹配查询(QuerySet)的对象数量,是一个int类型
10、first()
返回第一条记录,返回结果是一个对象
11、last()
返回最后一条记录,返回结果是一个对象
当输出结果为空时,first和last方法可以返回空,但若对其进行索引调用则会出现报错情况
12、exists()
如果QuerySet包含数据,就返回True,否则返回False 输出为boolean类型,不需要使用参数
二、双下划线使用
1、xx__lt 小于
xx__lt 小于
2、xx__gt 大于
xx__gt 大于
3、xx__lte 小于等于
xx__lte 小于等于
4、xx__gte 大于等于
xx__gte 大于等于
5、xx__in 包含某些值
ret = person_model.filter(age__in=[12,22])
6、exclude(age__in=[11,32]) 不包含
exclude(age__in=[11,32]) 不包含