zoukankan      html  css  js  c++  java
  • 13条必知必会&&测试

    1.13条必知必会

    <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

  • 相关阅读:
    Java实现 LeetCode 735 行星碰撞(栈)
    Java实现 LeetCode 735 行星碰撞(栈)
    Java实现 LeetCode 887 鸡蛋掉落(动态规划,谷歌面试题,蓝桥杯真题)
    Java实现 LeetCode 887 鸡蛋掉落(动态规划,谷歌面试题,蓝桥杯真题)
    Java实现 LeetCode 887 鸡蛋掉落(动态规划,谷歌面试题,蓝桥杯真题)
    Java实现 蓝桥杯算法提高 求最大值
    Java实现 蓝桥杯算法提高 求最大值
    Java实现 蓝桥杯算法提高 求最大值
    Python eval() 函数
    Python repr() 函数
  • 原文地址:https://www.cnblogs.com/studybrother/p/10909129.html
Copyright © 2011-2022 走看看