我正在尝试在我的网站上创建一个表,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},
]