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

时间:2015-10-31 01:07:14

标签: django django-models django-orm

我有以下关系:

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)

从团队对象中,我想获得属于它的所有玩家。

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

2 个答案:

答案 0 :(得分:3)

documentation on following relationships backward中详细介绍了这一点。

给定Team对象team,您可以获得玩家:

team.player_set.all()

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

答案 1 :(得分:0)

你可以这样做;

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