2013-02-09 181 views
0

我做這樣的事情:Django模型過濾器訂購

Player.objects.distinct().filter(Q(game1_set=game) | Q(game2_set=game)) 

它返回所有的玩家,就起到game。我想要對結果進行排序,如篩選器:game1_set,然後game2_set。但事實並非如此。它的訂單是id

此外,我需要一個QuerySet結果,所以,合併兩個列表不是一個選項。

這裏是更好地瞭解models.py

class Player(models.Model): 
    game1_set = models.ManyToManyField('Game', verbose_name='players1') 
    game2_set = models.ManyToManyField('Game', verbose_name='players2') 

class Game(models.Model): 
    # some fields here 

回答

2

嘗試添加.order_by('game1_set','game2_set')

Player.objects.distinct().filter(Q(game1_set=game) | Q(game2_set=game)).order_by('game1_set','game2_set') 
+0

才下訂單的球員,但它不會做什麼我whant做。不管怎麼說,還是要謝謝你 – imkost 2013-02-14 13:01:52