2011-09-09 43 views
0

我有一個玩家列表,我想收集3個不同類別的統計數據。 (衝,傳,接)。我如何添加數據,然後在DJango中加入表格

每週玩家獲得每個類別的新統計數據。

我希望能夠做的是列出每個類別中排名前5的球員,這些球員對於特定的統計數據具有最多的碼。我不太清楚如何在我的views.py文件中設置查詢,或者如果我需要在django的模板文件中執行任何操作。

這裏是我的模型是這樣的:

class Player(models.Model): 

    first_name = models.CharField(
     max_length = 100, 
     verbose_name = "First Name" 
     ) 
    last_name = models.CharField(
     max_length = 100, 
     verbose_name = "Last Name" 
     ) 
    position = models.CharField(
     max_length = 2, 
     choices = (('QB', 'QB',), ('RB', 'RB',), ('WR', 'WR',),), 
     blank = True 
     ) 
    team = models.CharField(
     max_length = 30, 
     choices = (('Dallas', 'Dallas',), ('New York', 'New York',), ('Tampa Bay', 'Tampa Bay',),), 
     blank = True 
     ) 
    number = models.CharField(
     max_length = 3, 
     blank = True 
     ) 

class PlayerStat(models.Model): 
    player = models.ForeignKey(Player) 

    week_num = models.CharField(
     max_length = 10, 
     choices = (('1', 'Sep 2nd',), ('2', 'Sep 9th',), ('3', 'Sep 16th',),('4', 'Sep 23rd',), ('5', 'Sep 30th',), ('6', 'Nov 2nd',),('7', 'Nov 7th',), ('8', 'Nov 14th',), ('9', 'Nov 21st',),('10', 'Nov 28th',), ('11', 'Dec 4th',), ('12', 'Dec 11th',),), 
     blank = True, 
     null=True 
     ) 
    rushing_attempts = models.CharField(
     max_length = 100, 
     verbose_name = "Rushing Attempts", 
     blank=True 
     ) 
    rushing_yards = models.CharField(
     max_length = 100, 
     verbose_name = "Rushing Yards", 
     blank=True 
     ) 
    rushing_touchdowns = models.CharField(
     max_length = 100, 
     verbose_name = "Rushing Touchdowns", 
     blank=True 
     ) 
    passing_attempts = models.CharField(
     max_length = 100, 
     verbose_name = "Passing Attempts", 
     blank=True 
     ) 
    passing_completions = models.CharField(
     max_length = 100, 
     verbose_name = "Passing Completions", 
     blank=True 
     ) 
    passing_yards = models.CharField(
     max_length = 100, 
     verbose_name = "Passing Yards", 
     blank=True 
     ) 
    passing_touchdowns = models.CharField(
     max_length = 100, 
     verbose_name = "Passing Touchdowns", 
     blank=True 
     ) 
    receptions = models.CharField(
     max_length = 100, 
     verbose_name = "Receptions", 
     blank=True 
     ) 
    receiving_yards = models.CharField(
     max_length = 100, 
     verbose_name = "Receiving Yards", 
     blank=True 
     ) 
    receiving_touchdowns = models.CharField(
     max_length = 100, 
     verbose_name = "Receiving Touchdowns", 
     blank=True 
     ) 

我是小白到Python和Django的,所以任何幫助,將不勝感激。

感謝

回答

1

首先我必須改變模型使用DecimalField的統計數據,然後 查詢每個統計的前5名:

PlayerStat.objects.order_by('receiving_yards')[:5] 

你也可以給一個訂單列出多個領域要訂購從

PlayerStat.objects.order_by('receiving_yards,receptions,receiving_touchdowns')[:5] 
相關問題