单表查询还回数据有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种方式)的更多相关文章

  1. day52:django:ORM单表/多表操作

    目录 1.ORM 2.ORM单表增删改查 13个必知必会的查询接口 filter基于双下划线的模糊查询 3.ORM多表增删改查 ORM 什么是ORM? ORM(object relational ma ...

  2. python 全栈开发,Day94(Promise,箭头函数,Django REST framework,生成json数据三种方式,serializers,Postman使用,外部python脚本调用django)

    昨日内容回顾 1. 内容回顾 1. VueX VueX分三部分 1. state 2. mutations 3. actions 存放数据 修改数据的唯一方式 异步操作 修改state中数据的步骤: ...

  3. django ORM单表操作

    1.ORM介绍 ORM是“对象-关系-映射”的简称 映射关系: mysql---------Python 表名----------类名 字段----------属性 表记录--------实例化对象 ...

  4. Django ORM单表查询必会13条

    必知必会13条 操作下面的操作之前,我们实现创建好了数据表,这里主要演示下面的操作,不再细讲创建准备过程 <1> all(): 查询所有结果 <2> filter(**kwar ...

  5. python 之 Django框架(orm单表查询、orm多表查询、聚合查询、分组查询、F查询、 Q查询、事务、Django ORM执行原生SQL)

    12.329 orm单表查询 import os if __name__ == '__main__': # 指定当前py脚本需要加载的Django项目配置信息 os.environ.setdefaul ...

  6. django框架基础-ORM单表操作-长期维护

    ###############    单表操作-添加数据    ################ import os if __name__ == '__main__': os.environ.set ...

  7. Django框架05 /orm单表操作

    Django框架05 /orm单表操作 目录 Django框架05 /orm单表操作 1. orm使用流程 2. orm字段 3. orm参数 4. orm单表简单增/删/改 5. orm单表查询 5 ...

  8. Django 模版语法 测试环境 ORM单表查询

    模版语法 传值 视图函数向前端html页面传值,基本上所有的数据类型都可以渲染在前端页面上. views.py from django.shortcuts import render, redirec ...

  9. 17-2 orm单表操作和多表操作

    参考:https://www.cnblogs.com/liwenzhou/p/8660826.html 一  ORM单表操作 1 增删改查 1. 查询 1. 查所有 models.Publisher. ...

随机推荐

  1. static 和 final 关键字 对实例变量赋初始值的影响

    static 和 final 关键字 对实例变量赋初始值的影响 最近一直在看<深入理解Java虚拟机>,在看完了对象内存分配.Class文件格式之后,想深扒一下实例变量是如何被赋上初始值的 ...

  2. SqlExpress与 LocalDB的链接字符串转换

    1.如果是连接SQL Server Express databases,需要将连接字符串定义为:Data Source=.SQLEXPRESS" to "Data Source=( ...

  3. 路由器数据统计SQL脚本

    一.路由器部分 //[饼图]统计路由器在线.离线数量 SELECT COUNT(*) AS total, MINUTE)) ELSE NULL END) AS livecount, MINUTE)) ...

  4. Javaweb学习笔记——(九)——————Servlet的进入,及ServletConfig、GenericServlet、HttpServlet、ServletContext、获取类路径资源

    Servlet1.什么是Servlet? *Servlet是Javaweb三大组件之一(Servlet,Filter,Listener) *Servlet是用来处理客户端请求的动态资源 *Servle ...

  5. redis的常用命令及实例讲解

    使用命令行操作redis 数据类型 字符串String 列表list 使用双向循序链表实现(LinkedList) 散列 Hash 一般应用于将redis作为分布式缓存,存储数据库中的数据对象 集合s ...

  6. 三十七、Linux 线程——线程清理和控制函数、进程和线程启动方式比较、线程的状态转换

    37.1 线程清理和控制函数 #include <pthread.h> void pthread_cleanup_push(void (* rtn)(void *), void *arg) ...

  7. 【Unity&C#】lambda函数

    以下两段代码等价. 未使用lambda函数的代码: private Button PB; private void Start() { PB = GameObject.Find("PButt ...

  8. gson和fastjson将json对象转换成javaBean 简单对照

    今天在网上看代码时,发现项目使用了Gson,用于将json字符串转换成javaBean. 以前没使用过Gson,随即,简单入了个们, 想起fastjson也有将json字符串转换成javaBean的A ...

  9. tab选项卡在鼠标经过时实现切换延迟

    偶然间在浏览网页时,发现这样的效果.当鼠标不经意间滑过tab时并不会切换,当鼠标停留在上面一段时候后才会切换. 个人觉得用户体验不错,优点是1.当用户只是滑过标签,并不需要切换,而此时如果切换标签需要 ...

  10. python中读取mongodb数据并保存为csv格式的文件

    import pandas as pd import matplotlib.pyplot as plt import pymongo %matplotlib inline # 连接mongodb数据库 ...