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分割文件的常用方法
Nov 01 Python
说一说Python logging
Apr 15 Python
AI人工智能 Python实现人机对话
Nov 13 Python
利用Pycharm断点调试Python程序的方法
Nov 29 Python
Python给定一个句子倒序输出单词以及字母的方法
Dec 20 Python
python2.7使用plotly绘制本地散点图和折线图
Apr 02 Python
解决Pycharm后台indexing导致不能run的问题
Jun 27 Python
django formset实现数据表的批量操作的示例代码
Dec 06 Python
QML用PathView实现轮播图
Jun 03 Python
Python中logging日志的四个等级和使用
Nov 17 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
Mar 03 Python
numpy array找出符合条件的数并赋值的示例代码
Jun 01 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
使用swoole扩展php websocket示例
2014/02/13 PHP
PHP批量查询WordPress留言者E-mail地址实现方法
2015/02/15 PHP
JS面向对象编程浅析
2011/08/28 Javascript
javascript full screen 全屏显示页面元素的方法
2013/09/27 Javascript
JavaScript制作的可折叠弹出式菜单示例
2014/04/04 Javascript
jQuery之Deferred对象详解
2014/09/04 Javascript
angularjs指令中的compile与link函数详解
2014/12/06 Javascript
再谈JavaScript异步编程
2016/01/27 Javascript
JavaScript中removeChild 方法开发示例代码
2016/08/15 Javascript
使用Vue.js创建一个时间跟踪的单页应用
2016/11/28 Javascript
详解JavaScript树结构
2017/01/09 Javascript
JS+CSS实现下拉刷新/上拉加载插件
2017/03/31 Javascript
在Vuex使用dispatch和commit来调用mutations的区别详解
2018/09/18 Javascript
微信小程序实现Session功能及无法获取session问题的解决方法
2019/05/07 Javascript
深入浅析vue全局环境变量和模式
2020/04/28 Javascript
Python isinstance判断对象类型
2008/09/06 Python
python中使用正则表达式的后向搜索肯定模式(推荐)
2017/11/11 Python
Python中摘要算法MD5,SHA1简介及应用实例代码
2018/01/09 Python
python使用Pycharm创建一个Django项目
2018/03/05 Python
numpy返回array中元素的index方法
2018/06/27 Python
Sanic框架安装与简单入门示例
2018/07/16 Python
django foreignkey外键使用的例子 相当于left join
2019/08/06 Python
Python使用Tkinter实现转盘抽奖器的步骤详解
2020/01/06 Python
matlab中imadjust函数的作用及应用举例
2020/02/27 Python
iPython pylab模式启动方式
2020/04/24 Python
iPad和Surface Pro蓝牙键盘:Brydge
2018/11/10 全球购物
怎么写好自荐信
2013/10/30 职场文书
酒店门卫岗位职责
2013/12/29 职场文书
出国考察邀请函
2014/01/21 职场文书
幼儿园家长评语
2014/02/10 职场文书
公司向个人借款协议书范本
2014/10/09 职场文书
家长高考寄语
2015/02/27 职场文书
保险公司客户经理岗位职责
2015/04/09 职场文书
爱心捐款活动总结
2015/05/09 职场文书
教你怎么用python selenium实现自动化测试
2021/05/27 Python
js不常见操作运算符总结
2021/11/20 Javascript