微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何通过外键获取数据

如何解决如何通过外键获取数据

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

我有两个模型,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/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。