如何通过外键获取数据

问题描述

我已经多次看到这个问题,但是当我尝试他们的解决方案时它不起作用。

我有两个模型,League 有(MLB、NCAAB、NBA、NFL)作为选项,然后我有 Team,它拥有所有联赛的所有球队,每支球队都有一个联赛作为外键。

如何在我的视图中为某个联赛下的所有球队创建一个变量? 比如,ncaab=Team.objects.select_related('NCAAB')?我知道这行不通,这只是为了让我知道我需要什么。

    class League(models.Model):
    leagues = (
        ('MLB',('MLB')),('NBA',('NBA')),('NCAAB',('NCAAB')),('NFL',('NFL')),)

    name = models.CharField(
        max_length=10,choices=leagues,null=False,blank=False)

    def __str__(self):
        return self.name


    class Team(models.Model):
    name = models.CharField(max_length=100,blank=False)
    abbreviation = models.CharField(max_length=10,blank=False)
    league = models.ForeignKey(
        'League',blank=False,on_delete=models.CASCADE)

    def __str__(self):
        return self.name

解决方法

我找到了等待回复的答案。

teams = Team.objects.filter(league__name='NCAAB')

在这里找到: https://docs.djangoproject.com/en/3.1/topics/db/examples/many_to_one/