12)django-ORM(单表返回数据3种方式)
单表查询还回数据有3种形式,返回形式不一样,模板调用方式不同
1)返回Queryset里面内容为对象:Business.objects.all() 这里内容显示是对象
2)返回Queryset里面内容为字典:Business.objects.all().values("id","caption")这里内容是字典
3)返回Queryset里面内容为元组:Business.objects.all().values_list("id","caption")这里显示是元组
class Business(models.Model):
caption=models.CharField(max_length=32)
code=models.CharField(max_length=32,null=True,default="SA")
#1)
v1=Business.objects.all()
#Queryset
#[obj(id,caption,code),obj(id,caption,code),obj(id,caption,code)]
#2)
v2=Business.objects.all().values("id","caption")
#Queryset,注意这里列表不是对象了,是字典
#[{"id":1,"caption":"运围部"},{"id":1,"caption":"运围部"}]
#3) v3=Business.objects.all().values_list("id","caption")
#Queryset,注意这里列表不是对象了,返回的是元组
#[(1,“运围部”),(2,“运围部”)]
return render(request,"business.html",{"v1":v1,"v2":v2,"v3":v3})
-------------------------------------
模板:
1)
<ul>
{% for row in v1 %}
<li>{{ row.id }} {{ row.caption }} {{ row.code }}</li>
{% endfor %}
</ul>
2)
<ul>
{% for row in v2 %}
<li>{{ row.id }} {{ row.caption }}</li>
{% endfor %}
</ul>
3)
<ul>
{% for row in v3 %}
<li>{{ row.0 }} {{ row.1 }}</li>
{% endfor %}
</ul> values queryset是字典,values_list是queryset下是元组,其他返回都是queryset下是对象 models.Business.objects.get(id=1)直接返回是一个对象,不存在会报错 如何解决:
models.Business.objects.filter(id=1).first()会更好
12)django-ORM(单表返回数据3种方式)的更多相关文章
- day52:django:ORM单表/多表操作
目录 1.ORM 2.ORM单表增删改查 13个必知必会的查询接口 filter基于双下划线的模糊查询 3.ORM多表增删改查 ORM 什么是ORM? ORM(object relational ma ...
- python 全栈开发,Day94(Promise,箭头函数,Django REST framework,生成json数据三种方式,serializers,Postman使用,外部python脚本调用django)
昨日内容回顾 1. 内容回顾 1. VueX VueX分三部分 1. state 2. mutations 3. actions 存放数据 修改数据的唯一方式 异步操作 修改state中数据的步骤: ...
- django ORM单表操作
1.ORM介绍 ORM是“对象-关系-映射”的简称 映射关系: mysql---------Python 表名----------类名 字段----------属性 表记录--------实例化对象 ...
- Django ORM单表查询必会13条
必知必会13条 操作下面的操作之前,我们实现创建好了数据表,这里主要演示下面的操作,不再细讲创建准备过程 <1> all(): 查询所有结果 <2> filter(**kwar ...
- python 之 Django框架(orm单表查询、orm多表查询、聚合查询、分组查询、F查询、 Q查询、事务、Django ORM执行原生SQL)
12.329 orm单表查询 import os if __name__ == '__main__': # 指定当前py脚本需要加载的Django项目配置信息 os.environ.setdefaul ...
- django框架基础-ORM单表操作-长期维护
############### 单表操作-添加数据 ################ import os if __name__ == '__main__': os.environ.set ...
- Django框架05 /orm单表操作
Django框架05 /orm单表操作 目录 Django框架05 /orm单表操作 1. orm使用流程 2. orm字段 3. orm参数 4. orm单表简单增/删/改 5. orm单表查询 5 ...
- Django 模版语法 测试环境 ORM单表查询
模版语法 传值 视图函数向前端html页面传值,基本上所有的数据类型都可以渲染在前端页面上. views.py from django.shortcuts import render, redirec ...
- 17-2 orm单表操作和多表操作
参考:https://www.cnblogs.com/liwenzhou/p/8660826.html 一 ORM单表操作 1 增删改查 1. 查询 1. 查所有 models.Publisher. ...
随机推荐
- DingDing的CorpSecretID和SSOSecret不是一个东西
今天客户更新系统后,提供了一对corpid和secret,结果同步钉钉考勤机数据时,一直提示corpid和secret不正确,最后询问钉钉官方人员发现,客户提供的是SSOSecret,应该使用Copr ...
- IT这条路,适合什么人走。
今天 ,到图书馆Study,呼,不知道为撒,看到那么多新书,那么多新技术(也不能说是新技术,就是自己没有学习过的技术),特别兴奋,学习的疲劳顿时间就没了,感觉什么都想学,都想据为己有,但是...... ...
- MVC设置启动页
设置启动页需要在路由中添加一段代码: public static void RegisterRoutes(RouteCollection routes) { rou ...
- TensorFlow从入门到理解(一):搭建开发环境【基于Ubuntu18.04】
*注:教程及本文章皆使用Python3+语言,执行.py文件都是用终端(如果使用Python2+和IDE都会和本文描述有点不符) 一.安装,测试,卸载 TensorFlow官网介绍得很全面,很完美了, ...
- JavaScript面试技巧(一):基础知识
1.变量类型和计算 变量类型:值类型.引用类型.typeof运算符. 变量计算:字符串拼接.==运算符.if语句.逻辑运算符 2.原型和原型链 构造函数 5个原型规则 3.作用域和闭包-执行上下文 4 ...
- 快速做ssh免密钥登陆
1.本地生成密钥并发送目标主机 >&1 #采用数字签名RSA或DSA生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub ssh-copy-id ...
- Linux环境及基础命令(一)
Linux环境及基础命令 一.认识Linux系统 略 二.配置Linux系统远程登录 2.1虚拟机系统配置 2.11虚拟机配置 统一NAT模式 虚拟机连不上 确定VMnet8网卡的IP地址(每台虚拟机 ...
- 表单相关标签之input标签
用于搜集用户信息. <input type="text" name="fname" /> 标签属性 type 规定 input 元素的类型.输入字段 ...
- python - beautifulsoup4模块
# beautifulsoup4学习 # 是一个python模块 用于接受一个HTML 或 XML 字符串,然后将其进行格式化,之后便可以使用模块提供的方法进行快速查找指定元素, # 从而是的在HTM ...
- Microsoft SQL - 数据库管理系统
数据库管理系统(Server Management Studio) SQL Server Management Studio是一个数据库管理系统软件,数据库可以看成是一个个存储数据的文件,而Manag ...