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. ...
随机推荐
- jquery实现图片上传前的预览
html代码 <div id="uploadPreview"></div> <input id="uploadImage" typ ...
- GCC编译器原理(二)------编译原理一:ELF文件(3)
4.5 String Table:字符串表 字符串表节区包含以 NULL( ASCII 码 0) 结尾的字符序列, 通常称为字符串. ELF 目标文件通常使用字符串来表示符号和节区名称. 对字符串的引 ...
- php错误提示 open_basedir restriction in effect 解决
<VirtualHost *:80> DocumentRoot "D:/www/4w_raaaa_com_2017" ServerName www.raaaa.com: ...
- windows 检测进程pid
根据端口查进程: netstat -ano |find " netstat -ano | findstr 2018 a 显示所有连接和侦听的端口n 以数字形式显示地址和端口号o 显示关联的进 ...
- 贝叶斯网络与LDA
一.一些概念 互信息: 两个随机变量x和Y的互信息,定义X, Y的联合分布和独立分布乘积的相对熵. 贝叶斯公式: 贝叶斯带来的思考: 给定某些样本D,在这些样本中计算某结论出现的概率,即 给定样本D ...
- .net+mvc,ueditor
.net+mvc的百度编辑器ueditor 一.下载百度编辑器:http://ueditor.baidu.com/website/download.html 选择.net版本 二.解压后在mvc项目中 ...
- 遇到以前跑一次却没问题的问题,直接maven install 再跑
遇到以前跑一次却没问题的问题,直接maven install 再用tomcat 跑 比如,xml 路径找不到类,奇葩的报错啊
- python问题:AttributeError: 'module' object has no attribute 'SSL_ST_INIT'
AttributeError: 'module' object has no attribute 'SSL_ST_INIT' 问题背景: 下载工具wydomain,安装依赖包以后,出现下图问题. 几经 ...
- 使用 JavaScript 将网站后台的数据变化实时更新到前端
问:难道只能设置定时器每隔一秒通过 Ajax 向后台请求数据来实现吗? 答: 1. nodejs的 http://socket.io 支持上述 李宏训 所说的三种方式,另外还支持 Flash Sock ...
- redis设置开机自启
开机自启动redis(其他服务类似) centos 7以上是用Systemd进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvini ...