标签:for char 北京 model public 对象 调用 queryset 布尔
单表数据库查询
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())
标签:for char 北京 model public 对象 调用 queryset 布尔
原文地址:https://www.cnblogs.com/zhangqing979797/p/9845925.html