首页 > 解决方案 > 如何通过外键获取数据

问题描述

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

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

如何在我的视图中为某个联赛下的所有球队创建一个变量?比如,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, null=False, blank=False)
    abbreviation = models.CharField(max_length=10, null=False, blank=False)
    league = models.ForeignKey(
        'League', null=False, blank=False, on_delete=models.CASCADE)

    def __str__(self):
        return self.name

标签: pythondjangomodelforeign-keys

解决方案


我找到了答案等待回复。

团队 = Team.objects.filter(league__name='NCAAB')

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


推荐阅读