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 相关文章推荐
Python3 能振兴 Python的原因分析
Nov 28 Python
python获得两个数组交集、并集、差集的方法
Mar 27 Python
Python django使用多进程连接mysql错误的解决方法
Oct 08 Python
python 实现调用子文件下的模块方法
Dec 07 Python
学生信息管理系统Python面向对象版
Jan 30 Python
python脚本开机自启的实现方法
Jun 28 Python
Python学习笔记之文件的读写操作实例分析
Aug 07 Python
Django自带的加密算法及加密模块详解
Dec 03 Python
Python实现银行账户资金交易管理系统
Jan 03 Python
Python如何绘制日历图和热力图
Aug 07 Python
Python下载网易云歌单歌曲的示例代码
Aug 12 Python
Python基于Faker假数据构造库
Nov 30 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 数组实例说明
2008/08/18 PHP
php 信息采集程序代码
2009/03/17 PHP
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
2008/08/05 Javascript
JavaScript 对象的属性和方法4种不同的类型
2010/03/19 Javascript
详谈JavaScript 匿名函数及闭包
2014/11/14 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
2015/02/26 Javascript
JavaScript操作Cookie方法实例分析
2015/05/27 Javascript
JavaScript中Window对象的属性及事件
2015/12/25 Javascript
移动端界面的适配
2017/01/11 Javascript
react.js 父子组件数据绑定实时通讯的示例代码
2017/09/25 Javascript
vue2手机APP项目添加开屏广告或者闪屏广告
2017/11/28 Javascript
使用JS代码实现俄罗斯方块游戏
2018/08/03 Javascript
微信小程序视图容器(swiper)组件创建轮播图
2020/06/19 Javascript
webpack 3.X学习之多页面打包的方法
2018/09/04 Javascript
Vue中jsx不完全应用指南小结
2019/11/01 Javascript
webpack常用构建优化策略小结
2019/11/21 Javascript
[01:01:31]2018DOTA2亚洲邀请赛3月29日小组赛B组 Mineski VS paiN
2018/03/30 DOTA
python实现将英文单词表示的数字转换成阿拉伯数字的方法
2015/07/02 Python
python实现zabbix发送短信脚本
2018/09/17 Python
在Python中居然可以定义两个同名通参数的函数
2019/01/31 Python
Python Excel处理库openpyxl使用详解
2019/05/09 Python
python tkinter基本属性详解
2019/09/16 Python
python中get和post有什么区别
2020/06/19 Python
python根据字典的键来删除元素的方法
2020/08/16 Python
html5定位获取当前位置并在百度地图上显示
2014/08/22 HTML / CSS
美国最大的户外装备和服装购物网站:Backcountry
2019/10/15 全球购物
北京某公司的.net笔试题
2014/03/20 面试题
Java面向对象面试题
2016/12/26 面试题
高中毕业生自我鉴定
2013/11/03 职场文书
销售工作人员的自我评价分享
2013/11/10 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
小学教师个人总结
2015/02/05 职场文书
2015秋季开学典礼新闻稿
2015/07/17 职场文书
2015年教导处教学工作总结
2015/07/22 职场文书
python源码剖析之PyObject详解
2021/05/18 Python
解决Python字典查找报Keyerror的问题
2021/05/26 Python