Django模型过滤器排序

2024-03-29 00:28:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我做了这样一件事:

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

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

Tags: namegameverbosemodelobjects排序modelsfilter