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魔法方法-自定义序列详解
Jul 21 Python
Python实现八大排序算法
Aug 13 Python
Pycharm学习教程(4) Python解释器的相关配置
May 03 Python
Python模拟登录的多种方法(四种)
Jun 01 Python
Python连接Mssql基础教程之Python库pymssql
Sep 16 Python
Python OpenCV对本地视频文件进行分帧保存的实例
Jan 08 Python
python 自定义对象的打印方法
Jan 12 Python
python自动化测试之如何解析excel文件
Jun 27 Python
如何以Winsows Service方式运行JupyterLab
Aug 30 Python
python实现按日期归档文件
Jan 30 Python
彻底解决pip下载pytorch慢的问题方法
Mar 01 Python
学会Python数据可视化必须尝试这7个库
Jun 16 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
php5编程中的异常处理详细方法介绍
2008/07/29 PHP
php实现小程序支付完整版
2018/10/09 PHP
JavaScript在XHTML中的用法详解
2013/04/11 Javascript
jQuery实现多按钮单击变色
2014/11/27 Javascript
js实现键盘控制DIV移动的方法
2015/01/10 Javascript
纯HTML5制作围住神经猫游戏-附源码下载
2015/08/23 Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
2016/11/10 Javascript
JS数字千分位格式化实现方法总结
2016/12/16 Javascript
js调用刷新界面的几种方式
2017/05/03 Javascript
微信小程序 setData使用方法及常用错误解决办法
2017/05/11 Javascript
微信小程序实现默认第一个选中变色效果
2018/07/17 Javascript
javascript实现考勤日历功能
2018/11/29 Javascript
js打开word文档预览操作示例【不是下载】
2019/05/23 Javascript
微信小程序获取位置展示地图并标注信息的实例代码
2019/09/01 Javascript
JS获取当前时间戳方法解析
2020/08/29 Javascript
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
Python编程二分法实现冒泡算法+快速排序代码示例
2018/01/15 Python
学习Python selenium自动化网页抓取器
2018/01/20 Python
Python实现二叉树的最小深度的两种方法
2019/09/30 Python
pandas中的ExcelWriter和ExcelFile的实现方法
2020/04/24 Python
Python的历史与优缺点整理
2020/05/26 Python
DataFrame 数据合并实现(merge,join,concat)
2020/06/14 Python
python3将变量输入的简单实例
2020/08/19 Python
装上这 14 个插件后,PyCharm 真的是无敌的存在
2021/01/11 Python
香港个人化生活购物网站:Ballyhoo Limited
2016/09/10 全球购物
意大利在线大学图书馆:Libreria universitaria
2019/07/16 全球购物
类、抽象类、接口的差异
2016/06/13 面试题
质检员岗位职责
2013/12/17 职场文书
学习党课思想汇报
2013/12/29 职场文书
财务主管自我鉴定
2014/01/17 职场文书
平面设计求职信
2014/03/10 职场文书
先进党员事迹材料
2014/12/24 职场文书
通知书大全
2015/04/27 职场文书
python turtle绘制多边形和跳跃和改变速度特效
2022/03/16 Python
MySQL数据库简介与基本操作
2022/05/30 MySQL
HttpClient实现表单提交上传文件
2022/08/14 Java/Android