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实现面向对像的ASP程序实例
Nov 10 Python
总结用Pdb库调试Python的方式及常用的命令
Aug 18 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
May 15 Python
介绍一款python类型检查工具pyright(推荐)
Jul 03 Python
python实现对图片进行旋转,放缩,裁剪的功能
Aug 07 Python
用python的turtle模块实现给女票画个小心心
Nov 23 Python
Python Tensor FLow简单使用方法实例详解
Jan 14 Python
Tensorflow 实现将图像与标签数据转化为tfRecord文件
Feb 17 Python
python实现扫雷游戏
Mar 03 Python
JAVA及PYTHON质数计算代码对比解析
Jun 10 Python
用 Python 元类的特性实现 ORM 框架
May 19 Python
详解python网络进程
Jun 15 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
phpmyadmin里面导入sql语句格式的大量数据的方法
2010/06/05 PHP
几个实用的PHP内置函数使用指南
2014/11/27 PHP
thinkphp自定义权限管理之名称判断方法
2017/04/01 PHP
一个实用的php验证码类
2017/07/06 PHP
Laravel创建数据库表结构的例子
2019/10/09 PHP
对联广告js flash激活
2006/10/19 Javascript
Jquery实战_读书笔记2 选择器
2010/01/22 Javascript
JavaScript中双叹号!!作用示例介绍
2014/09/21 Javascript
director.js实现前端路由使用实例
2015/02/03 Javascript
js给网页加上背景音乐及选择音效的方法
2015/03/03 Javascript
基于JavaScript实现带缩略图的轮播效果
2017/01/12 Javascript
jQuery插件HighCharts绘制2D饼图效果示例【附demo源码下载】
2017/03/21 jQuery
vue登录路由验证的实现
2017/12/13 Javascript
使用 Node.js 开发资讯爬虫流程
2018/01/07 Javascript
Vue Element 分组+多选+可搜索Select选择器实现示例
2018/07/23 Javascript
在 Vue 中编写 SVG 图标组件的方法
2020/02/24 Javascript
Vue组件跨层级获取组件操作
2020/07/27 Javascript
[01:02:54]完美世界DOTA2联赛PWL S2 FTD vs GXR 第一场 11.22
2020/11/26 DOTA
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
Python中的测试模块unittest和doctest的使用教程
2015/04/14 Python
TensorFlow高效读取数据的方法示例
2018/02/06 Python
python的dataframe和matrix的互换方法
2018/04/11 Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
2019/03/26 Python
Python 的AES加密与解密实现
2019/07/09 Python
python中的unittest框架实例详解
2021/02/05 Python
x-ua-compatible content=”IE=7, IE=9″意思理解
2013/07/22 HTML / CSS
介绍一下EJB的分类及其各自的功能及应用
2016/08/23 面试题
中医临床专业自我鉴定范文
2014/01/15 职场文书
基督教婚礼主持词
2014/03/14 职场文书
大学生演讲稿
2014/04/25 职场文书
工作年限证明模板
2014/11/01 职场文书
企业财务总监岗位职责
2015/04/03 职场文书
2015年扶贫帮困工作总结
2015/05/20 职场文书
银行柜员优质服务心得体会
2016/01/22 职场文书
关于golang高并发的实现与注意事项说明
2021/05/08 Golang
MIME类型中application/xml与text/xml的区别介绍
2022/01/18 HTML / CSS