为了开始使用 Django,我使用它为我的垒球队构建了一个小站点,我们可以在其中列出每个球员的统计数据。对于模型,我定义了 2 个表 - Player 和 Statline,其中 Statline 中的玩家是外键。
class Player(models.Model):
name = models.CharField(max_length=32)
gender = models.CharField(max_length=1, choices=GENDER_CHOICES)
bats = models.CharField(max_length=1, choices=HANDED_CHOICES)
throws = models.CharField(max_length=1, choices=HANDED_CHOICES)
position = models.CharField(max_length=2, choices=POSITION_CHOICES)
pitches = models.CharField(max_length=1, choices=PITCHES_CHOICES)
hometown = models.CharField(max_length=32)
def __unicode__(self):
return self.name
class StatLine(models.Model):
season_name = models.CharField(max_length=12, choices=SEASON_CHOICES)
player = models.ForeignKey(Player)
at_bats = models.IntegerField(max_length=2, choices=NUMBER_CHOICES, default=0)
singles = models.IntegerField(max_length=2, choices=NUMBER_CHOICES, default=0)
doubles = models.IntegerField(max_length=2, choices=NUMBER_CHOICES, default=0)
triples = models.IntegerField(max_length=2, choices=NUMBER_CHOICES, default=0)
homeruns = models.IntegerField(max_length=2, choices=NUMBER_CHOICES, default=0)
runs = models.IntegerField(max_length=2, choices=NUMBER_CHOICES, default=0)
rbis = models.IntegerField(max_length=2, choices=NUMBER_CHOICES, default=0)
rboe = models.IntegerField(max_length=2, choices=NUMBER_CHOICES, default=0)
我要做的是做一个查询,在其中总结每个玩家的所有统计数据并按玩家分组。这样我就可以对每个赛季的所有统计数据进行统计。当我用 PHP 构建网站时,在 SQL 中,它是:
FROM Stats
INNER JOIN Players ON Players.player_id = Stats.player_id
WHERE season_name = 'Spring 2012'
GROUP BY Players.player_name
我对如何使用 Django 执行相同的查询感到困惑。任何帮助将非常感激!