问题描述
我已经多次看到这个问题,但是当我尝试他们的解决方案时它不起作用。
我有两个模型,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/