Python 将django查询集转换为数组

Python 将django查询集转换为数组,python,arrays,django,django-models,Python,Arrays,Django,Django Models,我想把django queryset转换成一个数组 firstnames=Users.objects.values('firstnames') 得到一个看起来像 firstnames = ["Nancy", "Andrew", "Janet", "Margaret", "Steven", "Michael", "Robert", "Laura", "Anne"]; 有什么见解吗? 当做 Josh使用并指定flat=True: firstnames = Users.objects.values

我想把django queryset转换成一个数组

firstnames=Users.objects.values('firstnames')
得到一个看起来像

firstnames = ["Nancy", "Andrew", "Janet", "Margaret", "Steven", "Michael", "Robert", "Laura", "Anne"];
有什么见解吗? 当做 Josh

使用并指定
flat=True

firstnames = Users.objects.values_list('firstnames', flat=True)
firstnames = list(firstnames)

嗨,falsetru,我得到一个错误管理器对象没有属性值_list@user3262370,它是
values\u list
,而不是
values\u list
。我用十进制值尝试了这个方法,返回的列表包含字符串:十进制('50.00')、十进制('100.00')??我怎样才能得到这些值?@Almosta初学者,它们不是字符串。十进制对象的表示形式如下所示。根据您的需要尝试
int(十进制('50.00'))
float(十进制('50.00'))
。。。包含列表:因此您必须意识到,您不能真正将结果用作列表(例如,将“列表”添加到另一个列表)。请改用value_list(),只选择某些抽象中需要的列,限制列可能没有意义。对于简单的用例,您所说的是一条很好的一般规则。
def get_array(Table, column):
    rows = Table.objects.values(column)
    return [row[column] for row in rows]

print get_array(Users, 'firstnames')