沿用第七天的数据库,数据库现在是这样的:

配置好主路由include子路由

子路由引入views

在views页面定义test测试请求如下:

def test(request):
# 1.all()方法:获取所有的对象,返回一个QuerySet类型
ret = models.Person.objects.all()
print(ret) # <QuerySet [<Person: <obj name:lxkk>>, <Person: <obj name:kkk>>, <Person: <obj name:las>>, <Person: <obj name:lls>>]>
print(ret[1].name, ret[1].age)

运行结果:

# 2.filter()方法,过滤出符合条件的对象,返回一个QuerySet类型
ret = models.Person.objects.filter(age=21)
print(ret)
print(ret[0].name)

# 多个条件
# 转换成sql后使用and连接
ret = models.Person.objects.filter(age=21, height=175)
print(ret)

# 3.get()方法:获取具体的某一个对象 ,如果查询不到则报错,如果查询出多个来也会报错,返回值是符合条件的对象
ret = models.Person.objects.get(id=14)
print(ret)
print(ret.age)

# 4.first()返回查询的第一个对象
ret = models.Person.objects.filter(age=21).first()
print(ret)

ret = models.Person.objects.filter(age=19).first()
print(ret) # 列表信息存在
print(ret[0].name) # 命令行下打印查找到的信息

ret = models.Person.objects.filter(age=50).first()
print(ret) # 列表为空
print(ret[0].name) # 报错

ret = models.Person.objects.filter(age=50).first()
print(ret) # 列表中不存在相匹配的信息,不报错,返回None

# 5.last()方法:取出查询结果的最后一个,返回一个具体的对象
ret = models.Person.objects.filter(age=21).last()
print(ret)

# 6.order_by() 排序:默认按照升序排序,在属性前面添加‘-’号表示降序
ret = models.Person.objects.filter(age=21).order_by('id')
print(ret) # 升序

ret = models.Person.objects.filter(age=21).order_by('-id')
print(ret) # 降序

# 如果有多个排序规则,则使用逗号隔开即可
ret = models.Person.objects.order_by('age', '-id')
print(ret)

return HttpResponse('常用方法')

实训第八天 有关python orm 的学习记录 常用方法01的更多相关文章

  1. 实训第八天 有关python orm 的学习记录 常用方法02

    继续沿用第七天数据库:def test2(request): # 1.xxx__lt 小于 :查询出年龄小于22的所有 ret=models.Person.objects.filter(age__lt ...

  2. "利用python进行数据分析"学习记录01

    "利用python进行数据分析"学习记录 --day01 08/02 与书相关的资料在 http://github.com/wesm/pydata-book pandas 的2名字 ...

  3. <实训|第八天>超级管理员管理linux用户行为权限附监控主机状态

    作为运维工程师,系统管理员,你最大的权力就是给别人分配权力,而且你还能时时控制着他们,今天就给大家介绍一下关于管理用户这一方面的前前后后.  开班第八天: 主要课程大纲:(下面我将把自己的身份定位成一 ...

  4. python , angular js 学习记录【3】

    1.Alembic是SQLAlchemy作者编写的Python数据库迁移工具.用它实现模型类和数据库的同步更新.(安装以及操作步骤 使用Alembic迁移数据库) 使用Alembic添加数据库字段操作 ...

  5. Python: 利用Python进行数据分析 学习记录

    -----15:18 2016/10/14----- 1. import numpy as np;import pandas as pd values = pd.Series(np.random.no ...

  6. python , angular js 学习记录【2】

    1.不同scope之间的通信 (1)无父子关系的scope通信: 在需要操作的scope里面定义一个事件,名称为delete_host,参数为data $rootScope.$on('delete_h ...

  7. python核心编程学习记录之映射和集合类型

    字典是python里唯一的映射类型

  8. python核心编程学习记录之Python对象

    比较符号如<,>,=比较的是对象的值 如果要比较对象本身要用is,is not repr()的功能与''所做的事情是一样的 Python不支持的类型有char,byte,指针,short, ...

  9. python核心编程学习记录之基础知识

    虽然对python的基础知识有所了解,但是为了更深入的学习,要对python的各种经典书籍进行学习 第一章介绍python的优缺点,略过 第二章介绍python起步,第三章介绍python基础,仅记录 ...

随机推荐

  1. redis 数据类型之字典

    1.hset hset(name, key, value) # 参数:     # name,redis的name     # key,name对应的hash中的key     # value,nam ...

  2. Qt Installer Framework翻译(3-2)

    添加组件 如果用户在初始安装期间未选择所有可安装组件,则后续也可以使用包管理器从仓库中获取剩余组件进行安装.包管理器是维护工具的一部分,该维护工具在初始安装过程中与应用程序一起被安装.仅当包含组件的仓 ...

  3. 安装mysql遇到的问题

    想在自己的PC上安装mysql服务器,首先在官网下载mysql的安装文件. MySQL安装文件分两种 .msi和.zip ,.msi需要安装,.zip文件需要配置环境变量. 我首先下载的是不需要安装的 ...

  4. 分布式RPC系统框架Dubbo

    导读 Apache Dubbo是一款高性能.轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现. dubbo官网:点我直达 第一 ...

  5. python中[-1]、[:-1]、[::-1]、[n::-1]使用方法

    import numpy as np a=np.random.rand(5) print(a) [ 0.64061262 0.8451399 0.965673 0.89256687 0.4851874 ...

  6. Python3-提高效率的方法

    1.字符串格式化 Python3.7或以上推荐使用f-string,其他版本推荐使用format方法. 2.字典的初始化 使用字面量初始化字典(以及其他集合类型). 说明:Python中初始化集合类型 ...

  7. 工具之awk

    转自:http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html awk是一个强大的文本分析工具,相对于grep的查找,sed的编 ...

  8. Servlet梳理

    Servlet 梳理 概述 Web 技术成为当今主流的互联网 Web 应用技术之一,而 Servlet 是 Java Web 技术的核心基础. 要介绍 Servlet 必须要先把 Servlet 容器 ...

  9. java容器(二) Map类框架图解

  10. k8s注册节点提示Docker SystemdCheck]: detected cgroupfs" as the Docker cgroup dr iver. The r ecommended dr fiver is" systemd"

    本篇就不长篇大论了,直接附上解决办法 提示如上,此提示非必要要求,只是建议,但是看着不爽,那就解决它 这是未解决之前的docker信息,现在输入下面的指令 sudo echo -e "{\n ...