2012-07-24 2 views
15

django-tables2에 테이블에 어떤 열을 넣고 싶습니까? 이 Column attribute이 '표시'되어 있음을 알고 있으며 False로 설정할 수 있습니다. 그러나 나는 많은 필드를 가진 모델을 가지고 있으며 그 중 일부만 표시하기를 원합니다. 따라서 모든 열의 전체 목록을 작성하면 대부분이 표시되지 않을 것이라고 말하면서 올바른 방법이 아닌 것 같습니다.django-tables2 열 집합

내가 찾고있는 것은 표시 할 열 이름 목록을 제공하는 방법입니다. 가능하다면 사용자가 원하는 열을 선택할 수도 있습니다.

다른 해결책이 마음에 들었습니다. 기본적으로 'visible'속성을 False로 설정했으나 Column 클래스에 정의되어 있으므로 완전한 목록을 작성해야합니다.

django-tables2 토론 포럼을 찾지 못했기 때문에 여기에서 질문합니다. 지정 모델 필드의

+0

열을 동적으로 표시/숨기기를 의미합니까, 아니면 런타임에 표시 할 필드를 구성하겠습니까? –

+0

주요 목표는 열 이름 집합을 제공하여 표시 할 필드를 결정하는 것입니다. 동적 부분은 선택 사항입니다. 나는 주 목표없이 동적 인 부분을 어떻게 달성 할 수 있는지 실제로 보지 못합니다. – liepumartins

+0

'tables : table' 정의에서'Meta : fields :()'또는'exclude :()'를 사용해야합니까? –

답변

23

모형

class Product(model.Models): 
    name = model.CharField(max_length=20) 
    price = model.DecimalField(max_digit=9, decimal_places=2) 

테이블은 또한

class ProductTable(tables.Table): 
    actions = ProductActions(orderable=False) # custom tables.Column() 
    class Meta: 
     model = Product 
     fields = ('name', 'price', 'action') # fields to display 

당신은 또한 사용할 수 있습니다 exclude

Related docs entry here

+0

좋아요, '필드'옵션은 ModelForm에서와 같이 변경되지 않으므로 '시퀀스'도 사용했습니다. – liepumartins

+0

예이 django-tables2는 정말 멋진 응용 프로그램이며 많은 것을 단순화합니다. –

+1

나는 그 문서들을 열 다섯 번 읽었으며 그것을들을 수 없었다. 그러나 나는 당신의 연결을 따랐을 때 그것을 보았다. FML – Tjorriemorrie