2013-07-30 1 views
0

여러 쿼리를 만들고 결과를 테이블에 표시하려면 django-tables2를 사용하고 있습니다. 물론 결과가 관련되어 있으므로 동일한 행에 있어야합니다.다중 쿼리 결과를 장고 테이블에 표시합니다. 2

Exemple : 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

장치를 모델로 사용하면 문제는 해결되지 않은 다른 사람에게 표시됩니다. – user2137817