如何从Django中的查询集中获取列表

时间:2014-12-04 11:38:07

标签: django

考虑以下django代码

phonenumbers = othermodel.objects.filter( company=mymodel.company,
                                         date_overwritten__isnull=True
                                       ).values_list('id', flat=True)

这是返回另一个QuerySet对象而不是python列表,返回的queryset中的第一个对象是{valuesListQuerySet}这是一个空列表,这是正确的,因为我的整个模型/表othermodel当前是空的

我缺少什么?如何将{valuesListQuerySet}作为普通的python列表获取,即使它是空的

1 个答案:

答案 0 :(得分:3)

作为django doc says

  

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

     

请注意,此方法返回ValuesListQuerySet。这个班的表现   像一个清单。大部分时间这都足够了,但如果你需要的话   实际的Python列表对象,你可以简单地调用list()就可以了   将评估查询集。

所以你可以打电话:

list(phonenumbers)