2014-02-21 12 views
5

我想轉換一個Django的查詢集到一個數組一樣,轉換Django的查詢集到一個數組

firstnames=Users.objects.values('firstnames') 

得到一個結果,看起來像

firstnames = ["Nancy", "Andrew", "Janet", "Margaret", "Steven", "Michael", "Robert", "Laura", "Anne"]; 

任何見解嗎? 問候 喬希

回答

6

使用QuerySet.values_list,並指定flat=True

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

嗨falsetru,我得到一個錯誤對象有VALUE_LIST – Joshua

+0

@ user3262370沒有屬性,它是'values_list',不'value_list' 。 – falsetru

+0

我試着用十進制值,返回的列表包含字符串:十進制('50.00'),十進制('100.00')??我如何才能得到這些值? –

-1
def get_array(Table, column): 
    rows = Table.objects.values(column) 
    return [row[column] for row in rows] 

print get_array(Users, 'firstnames') 
+0

改爲使用value_list(),並只選擇您需要的列 – vivekv