Python Django查询列表

Python Django查询列表,python,django,Python,Django,我有一个数据库,其中有包含一些信息的几个字段的记录 要获取表中与某个筛选器匹配的所有数据,我将执行以下操作: records = Record.objects.filter(fieldA='a') 我想记录是一个QuerySet对象,包含一个记录的“列表”。对吗 现在让我们假设我想要一个字段中的值列表 如果我这样做: records = Record.objects.filter(fieldA='a').only('fieldB') 我仍然得到一个queryset,但现在它有一些延迟字段。我

我有一个数据库,其中有包含一些信息的几个字段的记录

要获取表中与某个筛选器匹配的所有数据,我将执行以下操作:

records = Record.objects.filter(fieldA='a')
我想记录是一个QuerySet对象,包含一个记录的“列表”。对吗

现在让我们假设我想要一个字段中的值列表

如果我这样做:

records = Record.objects.filter(fieldA='a').only('fieldB')
我仍然得到一个queryset,但现在它有一些延迟字段。我想要的只是一个我想要获取的值的列表。我还希望能够获取fieldB的不同值。我想我可以迭代每一条记录,拉出字段B,如果它还没有出现,就把它添加到一个列表中,现在就出现了,但肯定有更好的方法

谢谢

编辑:我想我要找的是

Record.objects.values_list('fieldB')

是的,找到了:
values\u list
。这里是参考资料:

我在这里发表评论是为了让它更加突出。这当然是我要找的

我想要一份价值观清单。使用
QuerySet
方法
.values\u list()
返回元组列表。要获取值列表,我需要选项
flat=True

Record.objects.values_list('fieldB', flat=True) 

这将生成一个单值元组列表
(('a',),('b',),('c',)
,这可能不是您想要的。如果将flat=True传递给values\u list(
Record.objects.values\u list('fieldB',flat=True)
),您将得到一个平面列表
('a','b','c')