2014-04-01 88 views
0

我有了在其他訂購2個標準

class Entry(models.Model): 
    #other fields 
    date = models.DateField() 
    user = models.ForeignKey(User) 

我想retrie所有用戶模型由用戶命令他們按字母順序,然後按日期升序排列他們兩個字段一個Django模型Django的查詢集。這會做什麼?

entries = Entry.objects.all().order_by('user').order_by('date') 

但我不認爲是這樣。上述命令的結果是條目ordered_by日期,但不是由用戶(因爲order_by('date')在鏈中最後被調用)。正確?我如何使用條件來訂購查詢集?

回答

4

如果希望用戶按字母順序必須通過用戶名不排序的ID,如:

Entry.objects.order_by('user__first_name', 'date') 
+0

+1了。關於發佈相同:)。 –

+0

不知道order_by可以帶兩個參數或更多。這將命令按字母順序排序,然後按日期排序?所以這將是first_name所有條目從第一個開始,但條目順序排序等? – Apostolos

+0

是的,這是正確的! –