场景:
有一个表中的某一列,你需要获取到这一列的所有值,你怎么操作?
解决办法:
有一个model为:Event
方式一:
获取内容:
Event.objects.values('title')
输出内容:
<QuerySet [{'title': '测试feed'}, {'title': '今天'}, {'title': '第三个日程测试'}, {'title': '第四个日程测试'}, {'title': '第五个测试日程'}]>
方式一获取到的是一个QuerySet,内容是键值对构成的,键为表的列名,值为对应的每个值。
方式二:
获取内容:
Event.objects.values_list('title')
输出内容:
<QuerySet [('测试feed',), ('今天',), ('第三个日程测试',), ('第四个日程测试',), ('第五个测试日程',)]>
方式二获取到的也是一个QuerySet,但是内容是元祖形式的查询列的值。
但是我们想要的是这一列的值呀,这怎么是一个QuerySet,而且还包含了列名,或者是被包含在了元祖中?
高阶用法
如果只想获取一个只有列表值的List,操作方式如下:
获取内容:
list(Event.objects.values_list('title',flat=True))
输出内容:
['测试feed', '今天', '第三个日程测试', '第四个日程测试', '第五个测试日程']