0

我做这样的事情:

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

它返回所有玩过的玩家game。我希望对结果进行排序,例如在 filter: game1_setfirst 和 thengame2_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
4

1 回答 1

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')
于 2013-02-09T16:45:55.587 回答