2013-04-17 177 views
0

Modelname.objects.filter(student__in=malerep).order_by('-Votes','-student__Percentage') 在這裏,我想具體獲得擁有最大票數的學生。 我想要做的是獲得代表選舉並獲得一些選票的學生名單,然後根據他們得到的選票數量對其進行排序。現在,如果我可以訪問此列表中的第一個對象,那麼我可以對數據庫中贏得選舉的學生進行必要的修改,並獲得其餘的詳細信息。 我被困在這一點。請幫助django,從一個過濾對象列表中獲取一個對象,該對象具有字段的最大值

Thanx提前。

+0

考慮添加此處使用的模型的代碼。 – alecxe

回答

1

在這一點上,你有兩個選擇:

首先,使用「最大」來獲得某些字段的最大值,並使用該最大值檢索特定學生的實例。 好的一面,這很容易實現;不好的一面,你需要打兩次數據庫才能實現你的目標。

二,使用raw()。您可以執行所需的所有複雜查詢。這將解決您的問題。好的一面,你有最大的自由來執行任何查詢;不好的一面,需要sql知識。

+0

但是,如果有一個是領帶,即如果不止一個人有最大的號碼。的選票,那麼我必須選擇一個更高的百分比。所以我需要獲取過濾列表中的第一個對象。我怎樣才能做到這一點? –

+0

@ user1799210:使用「order_by」。像過濾器(...)。order_by(' - Percentage')。並選擇第一個。它應該工作。 –

+0

謝謝你們。 –

0

'的OBJ = Modelname.objects.filter(student__in = malerep).order_by(' - 投票, ' - student__Percentage')」 然後使用objs[0]我能夠與最多投票數和最大訪問學生的對象如果配合,百分比。

+0

你明白了。涼 –

相關問題