2013-07-30 8 views
0

Je souhaite effectuer plusieurs requêtes et afficher les résultats dans un tableau, j'utilise django-tables2. Bien sûr, les résultats sont liés, ils doivent donc être dans la même rangée.Afficher plusieurs résultats de requête dans les tables django 2

Exemple: 2 modèles: appareils et utilisateurs, je veux afficher les périphériques et les personnes utilisant cet appareil ou la clé étrangère est dans le modèle de personne

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

Pouvez-vous montrer vos modèles? Je n'arrive pas à comprendre ce que tu veux. –

+0

Je veux afficher les appareils et les personnes qui les utilisent dans la même table – user2137817

Répondre

1

Ok, je vois. Vous devez écrire une classe Table personnalisée.

Créez un fichier tables.py et assurez-vous d'importer vos modèles et d'inclure la ligne 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 

alors à votre avis:

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

Et puis passer cette table à votre modèle, où vous pouvez le rendre.

Vous aurez besoin de personnaliser votre table (MyTable) à votre goût, je viens de vous donner l'épine dorsale. Si vous avez besoin de plus d'informations, les docs sont en fait assez décents. http://django-tables2.readthedocs.org/en/latest/

+0

J'ai vérifié les documents toute la journée, ce que vous avez écrit ne fait rien sauf changer le nom de la colonne, mais aucune donnée affichée. Et je veux afficher les appareils ne sont pas la personne, donc la table aura l'appareil comme modèle – user2137817

+0

Est-ce que 'idperson' affiche au moins les données? –

+0

en utilisant l'appareil comme modèle le problème est l'identité qui n'est pas affichée autre si le problème est résolu – user2137817

Questions connexes