如何通过其外键字段对相关字段进行排序?

How to order related field by its foreign key fields?

假设我有如下三个模型;

class Stats(models.Model):
    gp = models.IntegerField(default=0)
    won = models.IntegerField(default=0)
    drawn = models.IntegerField(default=0)
    lose = models.IntegerField(default=0)
    gf = models.IntegerField(default=0)
    ga = models.IntegerField(default=0)
    gd = models.IntegerField(default=0)
    pts = models.IntegerField(default=0)

class Team(models.Model):
    team_name = models.CharField(max_length=50)
    stats = models.ForeignKey(Stats)

class Group(models.Model):
    group_name = models.CharField(max_length=1)
    teams = models.ManyToManyField(Team)

而且,这是我的组模型序列化程序

class GroupSerializer(serializers.ModelSerializer):
    teams = TeamSerializer(read_only=True, many=True)

    class Meta:
        model = Group
        fields = '__all__'

但是,我想根据统计数据的 pts 和 gd 字段对球队进行排序。我尝试将 order_with_respect_to='stats' 添加到团队模型,将 ordering = ['pts', 'gd'] 添加到统计模型,但没有成功。

尝试以下操作:

class Team(models.Model):
    team_name = models.CharField(max_length=50)
    stats = models.ForeignKey(Stats)

    class Meta:
        ordering = ['stats__pts', 'stats__gd']