DJ

 

必知必会13条

all():查询所有结果

filter(**kwargs)   过滤,取到符合条件的对象,比get方法好,找不到会返回空

get(**kwargs)      取到符合条件对象,对象有且只有一个,找不到会报错

exclude(**kwargs)包含了与所给筛选条件不匹配的对象

values(*field)   返回一个ValueQuerySet,得到是字典序列,里面是对象的属性

values_list(*field)   和values相似,不过返回的是元祖

order_by(*field)   对查询结果排序

reverse(): 对查询结果反向排序

distinct(): 从返回结果中消除重复记录

count():从返回的QuerySet数据类型中,查询里面对象的个数,返回的数字

first() :返回第一条记录

last() :返回最后一条记录

exists(): 在QuerySet数据类型中查询数据,有返回True,没有返回Flase

 

单表查询的双下划线用法:

models.TB1.objects.filter(id__lt=10,id__gt=1) 获取id大于1且小于10的值的对象

models.TB1.objects.filter(id__in=[11,22,33])  id=11,22,33的对象

models.TB1.objects.exclude(id__in=[11,22,33])    和 上面相反

models.TB1.objects.filter(name__contains='ven')     名字中包含‘ven’的对象

models.TB1.objects.filter(name__icontains='ven')     对大小写不敏感

models.TB1.objects.filter(id__range=[1,3])         id范围1到3的对象

models.TB1.objects.filter(first_day__year=2017)  first_day 年份等于2017的

 

类似的还有startswith ,isstartswith,endwith,isendwith

 

posted @ 2018-06-20 16:42  赵伟航  阅读(129)  评论(0编辑  收藏  举报