在Django Query中选择一个值

时间:2014-05-12 11:37:24

标签: django django-models django-orm

我有一个Django查询: -

obj = ABC.objects.filter(column1 = value)
a_list = []
for x in obj:
   a_list.append(x.column2)

我想一次性获取column2的值列表,即不想使用for循环。对此有任何1个直接查询吗?

2 个答案:

答案 0 :(得分:3)

ABC.objects.filter(column1=value).values_list('column2', flat=True)

答案 1 :(得分:0)

https://docs.djangoproject.com/en/1.6/ref/models/querysets/#values-list

如果你没有将任何值传递给values_list(),它将按照声明的顺序返回模型中的所有字段。

请注意,此方法返回ValuesListQuerySet。这个类的行为就像一个列表。大多数情况下这已经足够了,但是如果你需要一个实际的Python列表对象,你可以简单地调用它上面的list(),它将评估查询集。