实训第八天 有关python orm 的学习记录 常用方法01
沿用第七天的数据库,数据库现在是这样的:

配置好主路由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的更多相关文章
- 实训第八天 有关python orm 的学习记录 常用方法02
继续沿用第七天数据库:def test2(request): # 1.xxx__lt 小于 :查询出年龄小于22的所有 ret=models.Person.objects.filter(age__lt ...
- "利用python进行数据分析"学习记录01
"利用python进行数据分析"学习记录 --day01 08/02 与书相关的资料在 http://github.com/wesm/pydata-book pandas 的2名字 ...
- <实训|第八天>超级管理员管理linux用户行为权限附监控主机状态
作为运维工程师,系统管理员,你最大的权力就是给别人分配权力,而且你还能时时控制着他们,今天就给大家介绍一下关于管理用户这一方面的前前后后. 开班第八天: 主要课程大纲:(下面我将把自己的身份定位成一 ...
- python , angular js 学习记录【3】
1.Alembic是SQLAlchemy作者编写的Python数据库迁移工具.用它实现模型类和数据库的同步更新.(安装以及操作步骤 使用Alembic迁移数据库) 使用Alembic添加数据库字段操作 ...
- Python: 利用Python进行数据分析 学习记录
-----15:18 2016/10/14----- 1. import numpy as np;import pandas as pd values = pd.Series(np.random.no ...
- python , angular js 学习记录【2】
1.不同scope之间的通信 (1)无父子关系的scope通信: 在需要操作的scope里面定义一个事件,名称为delete_host,参数为data $rootScope.$on('delete_h ...
- python核心编程学习记录之映射和集合类型
字典是python里唯一的映射类型
- python核心编程学习记录之Python对象
比较符号如<,>,=比较的是对象的值 如果要比较对象本身要用is,is not repr()的功能与''所做的事情是一样的 Python不支持的类型有char,byte,指针,short, ...
- python核心编程学习记录之基础知识
虽然对python的基础知识有所了解,但是为了更深入的学习,要对python的各种经典书籍进行学习 第一章介绍python的优缺点,略过 第二章介绍python起步,第三章介绍python基础,仅记录 ...
随机推荐
- request session
例子 url = 'http://beanhome.com/user/login' header = { "Content-Type": 'application/json', & ...
- urllib基本用法(了解)
一.urllib.urlopen 1.urlopen from urllib import request r = request.urlopen('http://www.baidu.com/') # ...
- css 透明度
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...
- 第二阶段冲刺个人任务——seven
今日任务: 整体运行测试上传到公网上的程序. 昨日成果: 搭建网络服务器,上传数据库及程序.
- 你可能不知道的 Python 技巧
英文 | Python Tips and Trick, You Haven't Already Seen 原作 | Martin Heinz (https://martinheinz.dev) 译者 ...
- fastjson中Map与JSONObject互换
1.//将map转换成jsonObject JSONObject itemJSONObj = JSONObject.parseObject(JSON.toJSONString(itemMap)); 将 ...
- scanf 函数笔记
函数声明 int scanf(const char *format, ...); 说明 <返回值> scanf ("<格式化字符串>", <参数表&g ...
- nginx之基础安装
前言 nginx的安装方式可能不同,具体取决于操作系统:对于Linux,可以使用nginx.org的nginx软件包.在FreeBSD上,可以从软件包或通过端口系统安装nginx. 端口系统提供了更大 ...
- 使用AOP和Semaphore对项目中具体的某一个接口进行限流
整体思路: 一 具体接口,可以自定义一个注解,配置限流量,然后对需要限流的方法加上注解即可! 二 容器初始化的时候扫描所有所有controller,并找出需要限流的接口方法,获取对应的限流量 三 使用 ...
- 制作ASCII字符动画
看过Matrix的同学应该还记得,在母舰上一直在计算的电脑屏幕在Neo觉醒的时候,不停的下落的杂乱无章的字符组成了Neo当时所处的场景.其实利用开源和免费的工具,我们可以将现有的视频转换为ASCII字 ...