如何在 Django 中获得外键关系的对面

how to get opposite side of a foreign key relation in django

我有以下关系:

class Team(models.Model):
    name = models.CharField(max_length=255)

    def players(self):
         ????

class Player(models.Model):
    user = models.OneToOneField(User, related_name="player")
    team = models.ForeignKey(Team)

从团队对象中,我想得到属于它的所有球员。

如何获取这种相反关系中的值?

这在 documentation on following relationships backward 中有一些详细介绍。

给定一个 Team 对象 team,你得到玩家:

team.player_set.all()

您可以通过在 ForeignKey 定义中设置 related_name 参数来覆盖 player_set 名称。

你可以这样做;

def players(self):
     return self.player.all()