Web サイトにテーブルを作成しようとしていますが、stackoverflow ユーザーから django_table2 を使用するよう提案されました。試してみると、数分で素敵なテーブルができました。問題は、classmodel.objects.all() を使用してテーブルがあったことですが、外部キーがあります。テーブルにデータを入力するチュートリアルの 1 つを試してみましたが、コスチューム データを入力できませんでした。
これが私のクラスです:
これが私のモデルです:
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})
My 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},
]