我有一个Django查询: -
obj = ABC.objects.filter(column1 = value)
a_list = []
for x in obj:
a_list.append(x.column2)
我想一次性获取column2的值列表,即不想使用for循环。对此有任何1个直接查询吗?
答案 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(),它将评估查询集。