2013-07-30 94 views
0

我想做多個查詢並在表中顯示結果,我使用的是django-tables2。 當然結果是相關的,所以他們需要在同一行。在Django表中顯示多個查詢結果2

例: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') 
+0

你能展示你的模型嗎?我無法弄清楚你想要什麼。 –

+0

我想在同一張表中顯示設備和使用它們的人 – user2137817

回答

1

好吧,我明白了。您需要編寫一個自定義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/

+0

我一直在整天檢查文檔,除了更改列名但沒有顯示數據外,您所寫的內容不會執行任何操作。而且我想要顯示設備不是人,所以桌子將有設備作爲模型 – user2137817

+0

'idperson'是否至少顯示數據? –

+0

使用設備作爲模型問題是idperson不顯示其他問題已解決 – user2137817