如何使用 django-tables2 连接两个表
How to make a join with two tables with django-tables2
任何人都可以提供一个清晰的示例,说明如何使用 django-tables2
显示 table,从两个(或更多)相关模型中选择和显示数据吗?
我发现了很多关于这个的帖子,其中大部分都很旧,而且 none 确实是一个有效的例子。
这些是我的模型:
class Person(models.Model):
name = models.CharField(verbose_name="Name",max_length=50)
fname = models.CharField(verbose_name="F.Name",max_length=50)
class Speech(models.Model):
person = models.ForeignKey(Person, on_delete=models.CASCADE)
said = models.CharField(verbose_name="Said",max_length=50)
我只是想显示一个 table 列 "Name, F.Name, Said"。哪种方法最好?并且有多个 tables?
提前致谢。
嗯,没有人回答我的问题。在挖掘和尝试之后,我找到了一种在一个 table 中显示来自相关模型的字段的方法。问题是 table 对 tables.py 的定义应该是这样的:
class SpeechTable(tables.Table):
name = tables.Column(accessor='person.name')
fname = tables.Column(accessor='person.fname')
said = tables.Column()
class Meta:
attrs = {"class": "paleblue"}
不确定这是否是最好的方法,但它很简单并且工作正常。
以下对我有用。您可以通过 here.
阅读文档
class SpeechTable(tables.Table):
name = tables.columns.Column(accessor='person.name')
fname = tables.columns.Column(accessor='person.fname')
said = tables.Column()
class Meta:
attrs = {"class": "paleblue"}
任何人都可以提供一个清晰的示例,说明如何使用 django-tables2
显示 table,从两个(或更多)相关模型中选择和显示数据吗?
我发现了很多关于这个的帖子,其中大部分都很旧,而且 none 确实是一个有效的例子。
这些是我的模型:
class Person(models.Model):
name = models.CharField(verbose_name="Name",max_length=50)
fname = models.CharField(verbose_name="F.Name",max_length=50)
class Speech(models.Model):
person = models.ForeignKey(Person, on_delete=models.CASCADE)
said = models.CharField(verbose_name="Said",max_length=50)
我只是想显示一个 table 列 "Name, F.Name, Said"。哪种方法最好?并且有多个 tables?
提前致谢。
嗯,没有人回答我的问题。在挖掘和尝试之后,我找到了一种在一个 table 中显示来自相关模型的字段的方法。问题是 table 对 tables.py 的定义应该是这样的:
class SpeechTable(tables.Table):
name = tables.Column(accessor='person.name')
fname = tables.Column(accessor='person.fname')
said = tables.Column()
class Meta:
attrs = {"class": "paleblue"}
不确定这是否是最好的方法,但它很简单并且工作正常。
以下对我有用。您可以通过 here.
阅读文档class SpeechTable(tables.Table):
name = tables.columns.Column(accessor='person.name')
fname = tables.columns.Column(accessor='person.fname')
said = tables.Column()
class Meta:
attrs = {"class": "paleblue"}