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 相关文章推荐
tensorflow 输出权重到csv或txt的实例
Jun 14 Python
python让列表倒序输出的实例
Jun 25 Python
深入解析Python小白学习【操作列表】
Mar 23 Python
pyQT5 实现窗体之间传值的示例
Jun 20 Python
python获取当前文件路径以及父文件路径的方法
Jul 10 Python
python 进程 进程池 进程间通信实现解析
Aug 23 Python
python做接口测试的必要性
Nov 20 Python
Python中使用gflags实例及原理解析
Dec 13 Python
Python装饰器用法与知识点小结
Mar 09 Python
用python绘制樱花树
Oct 09 Python
使用django自带的user做外键的方法
Nov 30 Python
浅谈怎么给Python添加类型标注
Jun 08 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
全国FM电台频率大全 - 16 河南省
2020/03/11 无线电
阿拉伯的咖啡与水烟
2021/03/03 咖啡文化
php输入流php://input使用浅析
2014/09/02 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
2017/05/24 PHP
js跨域问题之跨域iframe自适应大小实现代码
2010/07/17 Javascript
jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
2013/06/04 Javascript
js 获取浏览器版本以此来调整CSS的样式
2014/06/03 Javascript
在Node.js中实现文件复制的方法和实例
2014/06/05 Javascript
Javascript中判断对象是否为空
2015/06/10 Javascript
JS实现的几个常用算法
2016/11/12 Javascript
如何给ss bash 写一个 WEB 端查看流量的页面
2017/03/23 Javascript
Vue Spa切换页面时更改标题的实例代码
2017/07/15 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
2018/03/15 Javascript
在小程序中使用canvas的方法示例
2018/09/17 Javascript
layer更改皮肤的实现方法
2019/09/11 Javascript
win系统下为Python3.5安装flask-mongoengine 库
2016/12/20 Python
Python Pandas找到缺失值的位置方法
2018/04/12 Python
sublime python3 输入换行不结束的方法
2018/04/19 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
2018/09/17 Python
Python数据可视化实现正态分布(高斯分布)
2019/08/21 Python
CSS3打造百度贴吧的3D翻牌效果示例
2017/01/04 HTML / CSS
基于HTML5+tracking.js实现刷脸支付功能
2020/04/16 HTML / CSS
日本最新流行服饰网购:Nissen
2016/07/24 全球购物
固特异美国在线轮胎店:Goodyear Tire
2019/02/23 全球购物
全球采购的街头服饰和帽子:Urban Excess
2020/10/28 全球购物
Linux不知道文件后缀名怎么判断文件类型
2012/04/26 面试题
优秀求职信范文分享
2013/12/19 职场文书
自我评价如何写好?
2014/01/05 职场文书
商场中秋节广播稿
2014/01/17 职场文书
简历上的自我评价
2014/02/03 职场文书
军神教学反思
2014/02/04 职场文书
优秀毕业生找工作自荐信
2014/06/23 职场文书
2016年企业先进员工事迹材料
2016/02/25 职场文书
详解Python requests模块
2021/06/21 Python
PHP获取学生成绩的方法
2021/11/17 PHP
【js设计模式】SOLID五大设计原则
2022/03/24 Javascript