在django表2中显示多个查询结果

时间:2013-07-30 15:02:17

标签: django django-tables2

我想进行多个查询并在表格中显示结果,我正在使用django-tables2。 当然结果是相关的,所以它们需要在同一行。

例子:2个型号:设备和用户,我想显示设备和使用此设备的人或外键是在人模型中

class Device(models.Model):
    iddevice = models.AutoField(primary_key=True) 
    typedevice = models.ForeignKey('Devicetype')

class Person(models.Model):
     idperson = models.AutoField(primary_key=True) 
     idpersondevice = models.ForeignKey('Device')

1 个答案:

答案 0 :(得分:2)

好的,我明白了。您需要编写自定义Table类。

制作文件tables.py,并确保导入模型并添加第import django_tables2 as tables行。

class MyTable(tables.Table):
    idperson=tables.Column(accessor='idperson')
    iddevice=tables.Column(accessor='idpersondevice.iddevice')
    typedevice=tables.Column(accessor='idpersondevice.typedevice')

    class Meta:
        model=Person

然后在你看来:

table=MyTable(Person.objects.all()) #or filter it somehow
RequestConfig(request).configure(table)

然后将该表传递给您的模板,您可以在其中进行渲染。

您需要根据自己的喜好自定义表格(MyTable),我刚刚给您骨干。如果您需要更多信息,那么文档实际上相当不错。 http://django-tables2.readthedocs.org/en/latest/