10.22

查询 api

 

<1all():                  查询所有结果
  
<2filter(**kwargs):       它包含了与所给筛选条件相匹配的对象
  
<3> get(**kwargs):          返回与所给筛选条件相匹配的对象,返回结果有且只有一个,
                            如果符合筛选条件的对象超过一个或者没有都会抛出错误。
  
<4> exclude(**kwargs):      它包含了与所给筛选条件不匹配的对象
 
<5> order_by(*field):       对查询结果排序
  
<6> reverse():              对查询结果反向排序
  
<8> count():                返回数据库中匹配查询(QuerySet)的对象数量。
  
<9> first():                返回第一条记录
  
<10> last():                返回最后一条记录
  
<11> exists():              如果QuerySet包含数据,就返回True,否则返回False
 
<12> values(*field):        返回一个ValueQuerySet——一个特殊的QuerySet,运行后得到的并不是一系列
                            model的实例化对象,而是一个可迭代的字典序列
<13> values_list(*field):   它与values()非常相似,它返回的是一个元组序列,values返回的是一个字典序列
 
<14> distinct():            从返回结果中剔除重复纪录
 
了不起的双下划线:
Book.objects.filter(price__in=[100,200,300])  值在100,200,300这三个其中的
Book.objects.filter(price__gt=100)  价格 大于100
Book.objects.filter(price__lt=100) 价格小于100  gte.lte 是大于等于 小于等于
Book.objects.filter(price__range=[100,200])   价格在100至200 区间 相当于 between 100 and 200
Book.objects.filter(title__contains="pyt")  包含ph
Book.objects.filter(title__icontains="py") 包含ph  前面加i 是表示不区分大小写
Book.objects.filter(title__startswith="py")  以py 开头  同理 加i 不区分大小写
Book.objects.filter(pub_date__year=2012)   年 是2012 年

  

 小练习
 
 查询老男孩出版社出版过的价格大于200的书籍
 
2 查询2017年8月出版的所有以py开头的书籍名称
 
3 查询价格为50,100或者150的所有书籍名称及其出版社名称
 
4 查询价格在100到200之间的所有书籍名称及其价格
 
5 查询所有人民出版社出版的书籍的价格(从高到低排序,去重)

  

 
posted @ 2018-10-22 16:29  玩蛇少年7372  阅读(91)  评论(0编辑  收藏  举报