3

我正在尝试在我的网站上创建一个表,stackoverflow 用户建议我使用 django_table2。我试了一下,几分钟后我就有了一张漂亮的桌子,问题是我有一张使用classmodel.objects.all()的桌子,但我有外键。我尝试了他们关于用数据填充表格的教程之一,但我无法用我的服装数据填充。

这是我的课:

这是我的模型:

class Player_Bios(models.Model):
    my_id            = models.SlugField(unique=True)
    player_id        = models.IntegerField(primary_key=True, max_length=50)    
    name             = models.CharField(max_length=50) 
    last             = models.CharField(max_length=50)

    def __unicode__(self):
       return self.player_id

class BatStat (models.Model):
    player_id           = models.ForeignKey('Player_Bios')
    team_id             = models.ForeignKey('Team')
    bat_stat_id         = models.CharField(max_length=50, unique=True)
    sport_code           = models.CharField(max_length=50, blank=True) 
    ab                  = models.IntegerField(max_length=50, null=True)

def __unicode__(self):
    return self.bat_stat_id

我的观点:

def SpecificPLayer(request, playerslug):
   table = StatTable(Player_Bios.objects.all())
   RequestConfig(request).configure(table)
   return render(request, 'singleplayer.html', {'table': table})

我的表:# 假设填充表,但它没有。也许我必须更改视图中的某些内容,但是教程中没有提及

import django_tables2 as tables
player_bios.models import *

data = [
    {"name": "Bradley"},
    {"name": "Stevie"},
     ]  

class StatTable(tables.Table):
   name = tables.Column()

table = StatTable(data)

我试图使用:

player.batstat_set.all() #but the table does not take it

有没有办法按照 objects..all() 的工作方式来做,或者我可以像这样手动做:

在桌子上:

stat = player.batstat_set.all()
for i in stat:

data = [
    {"Player ID": i.player_id},
    {"team ID": i.team_id},
     ]  
4

0 回答 0