-1
要開始使用Django,我使用它爲我的壘球隊建立一個小網站,我們可以列出每個球員的統計數據。對於模型,我定義了兩個表格 - 玩家和Statline,Statline中的玩家是外鍵。如何打印出一個在Django中訪問2個表格的HTML表格?
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)
我正在做的是做一個查詢,我總結了每個玩家的所有統計數據,並按玩家分組。這樣我就可以統計每個賽季的所有數據。在SQL中,當我使用PHP構建站點時,它是:
FROM Stats
INNER JOIN Players ON Players.player_id = Stats.player_id
WHERE season_name = 'Spring 2012'
GROUP BY Players.player_name
我對如何使用Django執行相同的查詢感到困惑。任何幫助將非常感激!
好吧,幫助噸。我會給它一個鏡頭。目的是獲得像棒球卡背面通常顯示的統計數據:球員姓名,命中,單打,雙打等 - 對於給定的賽季。 –
好吧,我仍然卡住了。我已經通讀了所有的文檔,但我仍然遇到了創建我需要的查詢的問題。根據第一個問題 - 是的,所有的統計數據都可以被認爲是個人遊戲的統計數據。所以對於我想要製作的表格,它需要將給定玩家的所有統計信息加起來。所以查詢應該由玩家過濾,然後得到每個其他statline列的總和。我可以鏈接登錄信息.annotate(sum_abats = Sum(statline__abats).annontate(sum_singles = Sum(statline_singles)...? –
是的,你可以添加多個註釋,看看我上面的修改示例 – jnns