【问题标题】:How to make a join with two tables with django-tables2如何使用 django-tables2 连接两个表
【发布时间】:2016-07-23 12:54:28
【问题描述】:

谁能提供一个清晰的示例,说明如何使用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”列的表格。哪个是最好的方法?还有多个表?

提前致谢。

【问题讨论】:

    标签: join django-tables2


    【解决方案1】:

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

    不确定这是否是最好的方法,但它很简单而且效果很好。

    【讨论】:

      【解决方案2】:

      以下对我有用。您可以通过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"}
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-12-27
        • 2018-11-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-09
        • 2018-04-20
        相关资源
        最近更新 更多