1.什么是ORM
2.ORM优势
(1)只需要面向对象编程, 不需要面向数据库编写代码.
(2)实现了数据模型与数据库的解耦, 屏蔽了不同数据库操作上的差异.
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博客!
标签:django
Powered By python教程网 鲁ICP备18013710号
python博客 - 小白学python最友好的网站!