2011-06-23 84 views
4

我使用.order_by()方法/函數;不過,我想動態構造order_by字段。問題是.order_by()期望接收一個字符串或緩衝區。所以,我不能建立一個列表或元組或對象來發送給函數。我怎樣才能達到這個目標?Python/Django - *參數列表

我想要做的是這樣的:

field_list = [] 
for field in fields: 
    field_list.append(field) 
model.objects.all().order_by(field_list) 

???

回答

8

您可以使用model.objects.all().order_by(*field_list);這是因爲order_by接受多個字符串參數,而不是多個字符串列表。

請參閱This chapter in djangobook, search for order_bythis的參數解包。

+0

啊!很好。爲了好奇,你知道這裏有什麼文檔嗎?它會幫助我和其他人:) – GregL83

+0

@ GregL83修改回答 –

+0

甜。再次感謝。正是我在找什麼。 – GregL83