标签:必知必会 cts filter 筛选 lte person objects exists 数据库
<1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <3> get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。 <4> exclude(**kwargs): 它包含了与所给筛选条件不匹配的对象 <5> values(*field): 返回一个ValueQuerySet——一个特殊的QuerySet,运行后得到的并不是一系列model的实例化对象,而是一个可迭代的字典序列 <6> values_list(*field): 它与values()非常相似,它返回的是一个元组序列,values返回的是一个字典序列 <7> order_by(*field): 对查询结果排序 <8> reverse(): 对查询结果反向排序,请注意reverse()通常只能在具有已定义顺序的QuerySet上调用(在model类的Meta中指定ordering或调用order_by()方法)。 <9> distinct(): 从返回结果中剔除重复纪录(如果你查询跨越多个表,可能在计算QuerySet时得到重复的结果。此时可以使用distinct(),注意只有在PostgreSQL中支持按字段去重。) <10> count(): 返回数据库中匹配查询(QuerySet)的对象数量。 <11> first(): 返回第一条记录 <12> last(): 返回最后一条记录 <13> exists(): 如果QuerySet包含数据,就返回True,否则返回False
2.
1 """ 2 3 ORM小练习 4 5 """ 6 7 import os 8 9 if __name__ == ‘__main__‘: 10 #加载Djang00项目的配置信息 11 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ormday69.settings") 12 #导入Django,并启动Django项目 13 import django 14 django.setup() 15 16 from app01 import models 17 #查询所有的人 18 ret = models.Person.objects.all() 19 print(ret) 20 #get查询 21 ret = models.Person.objects.get(name="小黑") 22 print(ret) 23 #filter 24 ret = models.Person.objects.filter(id=100)#不存在返回一个空的QuerySet,不会报错 25 print(ret) 26 # 就算查询的结果只有一个,返回的也是QuerySet,我们要用索引的方式取出第一个元素 27 ret = models.Person.objects.filter(id=1)[0] 28 print(ret) 29 print("exclude".center(80,"*")) 30 #exclude 31 ret = models.Person.objects.exclude(id=1) 32 print(ret) 33 print("values".center(80,‘*‘)) 34 #values 返回一个QuerySet对象,里面都是字典。不写字段名,默认查询所有的字段 35 ret = models.Person.objects.values("name","birthday") 36 print(ret) 37 print("values_lisst".center(80,‘*‘)) 38 #values 返回一个QuerySet对象,里面都是元组。不写字段名,默认查询所有的字段 39 ret = models.Person.objects.values_list("name","birthday") 40 print(ret) 41 print("order_by".center(80, ‘*‘)) 42 #order_by按照指定的字段排序 43 ret = models.Person.objects.all().order_by("birthday") 44 print(ret) 45 print("reverse".center(80, ‘*‘)) 46 # reverse 将一个有序的QuerySet 反转顺序 47 #对有序的QuerySet才能调用reverse 48 ret = models.Person.objects.all().order_by("birthday").reverse() 49 print(ret) 50 print("first".center(80, ‘*‘)) 51 #first 返回QuerySet中的第一个对象 52 ret = models.Person.objects.all().first() 53 print(ret) 54 print("last".center(80, ‘*‘)) 55 # last 返回QuerySet中的最后一个对象 56 ret = models.Person.objects.all().last() 57 print(ret) 58 print("exists".center(80, ‘*‘)) 59 # exists 判断表里面有没有数据 60 ret = models.Person.objects.exists() 61 print(ret)
参考人莱河:https://www.cnblogs.com/xudj/p/10486505.html
标签:必知必会 cts filter 筛选 lte person objects exists 数据库
原文地址:https://www.cnblogs.com/studybrother/p/10909129.html