如何使用django-tables2与两个表进行连接

时间:2016-07-23 12:54:28

标签: join django-tables2

任何人都可以提供一个明确的示例,说明如何使用django-tables2显示一个表,该表选择并显示来自两个(或更多)相关模型的数据吗?

我发现了很多关于这方面的帖子,其中大多数都很老,而且没有一个真正有效的例子。

这些是我的模特:

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)

我只想显示一个包含列" Name,F.Name,Said"的表格。哪种方式最好?并有多个表?

提前致谢。

1 个答案:

答案 0 :(得分:3)

好吧,没有人回答我的问题。在挖掘和尝试之后,我找到了一种方法来在一个表中显示相关模型的字段。问题是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"}

不确定这是否是最佳方式,但它很简单且工作正常。