zoukankan      html  css  js  c++  java
  • django 查询

     

    单表数据库查询

     1 def query(request):
     2     #1all() 返回的是quertset :以列表的形式存放的对象,默认书名
     3     # ret=Book.objects.all()
     4     # print(ret)<QuerySet [<Book: GO>, <Book: linux>, <Book: 北京折叠>, <Book: 三体>, <Book: 追风筝的人>, <Book: 乱世佳人>]>
     5     #2 filter()返回的是queryset:以列表的形式,可以多个字段查询,逗号隔开
     6     # ret=Book.objects.filter(price=100,title=1)
     7     # print(ret) < QuerySet[ < Book: 1 >] >
     8     # 3get()是以model的对象形式 可以进行子段查询,但是只能查找出一个结果,多了报错
     9     # ret=Book.objects.get(iprice=100)
    10     # print(ret)
    11     # 4 first() last() queryset: 返回model对象 查询列表的的第一个,最后一个
    12     # ret=Book.objects.all()[0]
    13     # ret = Book.objects.all().first()
    14     # ret = Book.objects.all().last()
    15     # print(ret)
    16     # 5 exclude:返回值一个queryset
    17     # ret=Book.objects.exclude(id=2)
    18     # print(ret)<QuerySet [<Book: 2>, <Book: 3>, <Book: 4>, <Book: 5>]>
    19 
    20     # 6  order_by: 排序  由queryset对象调用,返回值是queryset
    21     # ret=Book.objects.all().order_by("-id")
    22     # print(ret)
    23 
    24     #7  count :数数  :由queryset对象调用 返回int 按照类表的个数查询
    25     # ret=Book.objects.all().count()
    26     # print(ret)
    27 
    28     #8 reverse()反转 :由queryset对象调用,返回值是queryset
    29     # ret=Book.objects.all().order_by('price').reverse()
    30     # print(ret)
    31 
    32     # 9 exists()判断 limit=1   返回布尔值
    33     # ret=Book.objects.all().exists()
    34     # print(ret)
    35 
    36     # 10 values 方法:由queryset对象调用,返回值是queryset的字典形式 key是values的值
    37     # ret=Book.objects.filter(price=100).values("id")
    38     # print(ret)<QuerySet [{'id': 2}, {'id': 3}, {'id': 4}]>
    39 
    40     # 11 values_list:由queryset对象调用,返回值是queryset
    41     # ret=Book.objects.filter(price=100).values_list("id")
    42     # print(ret)<QuerySet [(2,), (3,), (4,)]>
    43 
    44     # 12 distinct 去重: 由queryset对象调用,返回值是queryset 需要添加values("title")因为返回的是model对象的列表没法判断
    45     # ret = Book.objects.all().values("title").distinct()
    46     # print(ret)
    47 
    48     #
    49     ############################### 模糊查询 ##########################
    50 
    51     #查询价格大于200的书籍
    52     # ret=Book.objects.filter(price__gte=200)
    53     # print(ret)
    54 
    55     # 查询书籍名称以py开头的所有的书籍名称
    56     # ret=Book.objects.filter(title__istartswith="py").values("title")
    57     # ret=Book.objects.filter(title__contains="p").values("title")
    58     # print(ret) # <QuerySet [{'title': 'pycharm'}, {'title': 'python'}]>
    59 
    60     # 查询2017年7月份的所有的书籍
    61     # ret=Book.objects.filter(pub_date__year=2017,pub_date__month=7)
    62     # print(ret) #  <QuerySet []>
    63    
    64 
    65 
    66     # >>>>>>>>>>>>>>>>>>>>>>>>练习>>>>>>>>>>>>>>>
    67 
    68     # ret=Book.objects.filter(price__gt=200,public="人民日报")
    69     # print(ret)
    70     # ret=Book.objects.filter(title__startswith="py",book_date__year=2018,book_date__month=10).values("title")[0].get("title")
    71     # print(ret)
    72     # Book.objects.filter(price__in=[50,100,150]).values("title","public")
    73     # ret=Book.objects.filter(price__gte=100,price__lte=200).values("title","price")
    74     # for items in ret:
    75     #     print(items.get("price"),items.get("title"))
    76     # print(ret)
    77     ret=Book.objects.filter(public="人民日报").order_by("-price").values("price")
    78     for item in ret:
    79 
    80         print(item.get("price"))
    单表查询,模糊查询

    反向解析:

    模板: {%  url " name的值 "   %}    {%  url " name的值 " foo.id%} 

    视图:reverse("books')            含;变量reverse("books',args())  

  • 相关阅读:
    组合与计数
    20160929训练记录
    奇特而有用的定理
    图论 500 题
    《长安十二时辰》愿你看尽世间百态,心中仍有热血
    洛谷 [P1337] 平衡点
    洛谷 [P3496] BLO
    洛谷 [P2341] 受欢迎的牛
    洛谷 [P3723] 礼物
    洛谷 [P3338] 力
  • 原文地址:https://www.cnblogs.com/zhangqing979797/p/9845925.html
Copyright © 2011-2022 走看看