Django ORM 查询表中某列字段值的方法


Posted in Python onApril 30, 2020

1.什么是ORM

  • ORM 全拼Object-Relation Mapping.
  • 中文意为 对象-关系映射.
  • 在MVC/MVT设计模式中的Model模块中都包括ORM

2.ORM优势

(1)只需要面向对象编程, 不需要面向数据库编写代码.

  • 对数据库的操作都转化成对类属性和方法的操作.
  • 不用编写各种数据库的sql语句.

(2)实现了数据模型与数据库的解耦, 屏蔽了不同数据库操作上的差异.

  • 不在关注用的是mysql、oracle...等.
  • 通过简单的配置就可以轻松更换数据库, 而不需要修改代码.

3.ORM劣势

相比较直接使用SQL语句操作数据库,有性能损失.
根据对象的操作转换成SQL语句,根据查询的结果转化成对象, 在映射过程中有性能损失.

下面看下Django ORM 查询表中某列字段值,详情如下:

场景:

有一个表中的某一列,你需要获取到这一列的所有值,你怎么操作?

解决办法:

有一个model为:Event

方式一:

获取内容:
Event.objects.values('title')

输出内容:
<QuerySet [{'title': '测试feed'}, {'title': '今天'}, {'title': '第三个日程测试'}, {'title': '第四个日程测试'}, {'title': '第五个测试日程'}]>

方式一获取到的是一个QuerySet,内容是键值对构成的,键为表的列名,值为对应的每个值。

方式二:

获取内容:
Event.objects.values_list('title')

输出内容:
<QuerySet [('测试feed',), ('今天',), ('第三个日程测试',), ('第四个日程测试',), ('第五个测试日程',)]>

方式二获取到的也是一个QuerySet,但是内容是元祖形式的查询列的值。

但是我们想要的是这一列的值呀,这怎么是一个QuerySet,而且还包含了列名,或者是被包含在了元祖中?

查看高阶用法,告诉你怎么获取一个值的list,如:

['测试feed', '今天', '第三个日程测试', '第四个日程测试', '第五个测试日程']

到此这篇关于Django ORM 查询表中某列字段值的文章就介绍到这了,更多相关django orm 字段值内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中Collection的使用小技巧
Aug 18 Python
用python的requests第三方模块抓取王者荣耀所有英雄的皮肤实例
Dec 14 Python
在Django中输出matplotlib生成的图片方法
May 24 Python
Python数据类型之Tuple元组实例详解
May 08 Python
python语言基本语句用法总结
Jun 11 Python
Python爬取知乎图片代码实现解析
Sep 17 Python
python异步编程 使用yield from过程解析
Sep 25 Python
pytorch实现mnist分类的示例讲解
Jan 10 Python
Django中从mysql数据库中获取数据传到echarts方式
Apr 07 Python
Python3 Tensorlfow:增加或者减小矩阵维度的实现
May 22 Python
Pytorch实验常用代码段汇总
Nov 19 Python
pytorch 如何使用batch训练lstm网络
May 28 Python
Python pip install如何修改默认下载路径
Apr 29 #Python
Django 5种类型Session使用方法解析
Apr 29 #Python
PyQt5连接MySQL及QMYSQL driver not loaded错误解决
Apr 29 #Python
Python退出时强制运行一段代码的实现方法
Apr 29 #Python
pyinstaller将含有多个py文件的python程序做成exe
Apr 29 #Python
如何使用python切换hosts文件
Apr 29 #Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
Apr 29 #Python
You might like
php&amp;java(三)
2006/10/09 PHP
用PHP ob_start()控制浏览器cache、生成html实现代码
2010/02/16 PHP
微信支付开发发货通知实例
2016/07/12 PHP
php opendir()列出目录下所有文件的实例代码
2016/10/02 PHP
服务端 VBScript 与 JScript 几个相同特性的写法 By shawl.qiu
2007/03/06 Javascript
一个很酷的拖动层的js类,兼容IE及Firefox
2009/06/23 Javascript
JavaScript OOP类与继承
2009/11/15 Javascript
javascript使用eval或者new Function进行语法检查
2010/10/16 Javascript
jquery validate添加自定义验证规则(验证邮箱 邮政编码)
2013/12/04 Javascript
js语法学习之判断一个对象是否为数组
2014/05/13 Javascript
JavaScript生成随机数的4种自定义函数分享
2015/02/28 Javascript
JS获取随机数和时间转换的简单实例
2016/07/10 Javascript
学习vue.js计算属性
2016/12/03 Javascript
JS验证不重复验证码
2017/02/10 Javascript
Cpage.js给组件绑定事件的实现代码
2017/08/31 Javascript
Node.js学习之地址解析模块URL的使用详解
2017/09/28 Javascript
微信小程序使用蓝牙小插件
2019/09/23 Javascript
JS严格模式原理与用法实例分析
2020/04/27 Javascript
python实现图片批量剪切示例
2014/03/25 Python
Python常用内置函数总结
2015/02/08 Python
基于python实现的抓取腾讯视频所有电影的爬虫
2016/04/22 Python
再谈Python中的字符串与字符编码(推荐)
2016/12/14 Python
Apache如何部署django项目
2017/05/21 Python
TensorFLow用Saver保存和恢复变量
2018/03/10 Python
python 构造三维全零数组的方法
2018/11/12 Python
python实现按首字母分类查找功能
2019/10/31 Python
Python-openCV读RGB通道图实例
2020/01/17 Python
举例详解HTML5中使用JSON格式提交表单
2015/06/16 HTML / CSS
怎样声明一个匿名的内部类
2016/06/01 面试题
法学毕业生自我鉴定
2013/11/08 职场文书
法人代表授权委托书
2014/04/08 职场文书
2014年幼儿园国庆主题活动方案
2014/09/16 职场文书
情侣之间的道歉短信
2015/05/12 职场文书
Java实现简易的分词器功能
2021/06/15 Java/Android
Nginx内网单机反向代理的实现
2021/11/07 Servers
VUE递归树形实现多级列表
2022/07/15 Vue.js