2012-07-24 94 views
15

如何辨別django-tables2列表我想在表中列出哪些列?我知道這個Column attribute'可見',可以設置爲False。 然而,我有一個模型有許多字段,並且只想顯示其中的一部分,因此編寫所有列的完整列表,只是爲了說明其中大多數字段不可見,似乎不是正確的方法。django-tables2列集

我在尋找的是一種提供列名顯示列表的方法,如果這是可能的,那麼甚至可以讓用戶選擇他想要的列。

另一個解決方案出現在我的腦海 - 默認情況下使'可見'屬性爲False,但由於它是在Column類中定義的,我仍然需要編寫一個完整的列表。

由於我還沒有找到任何django-tables2討論論壇,我在這裏問。指定型號場

+0

您的意思是動態顯示/隱藏列或只是配置在運行時顯示哪些字段? – 2012-08-10 07:43:58

+0

主要目標是通過提供一組列名來確定顯示哪些字段,動態部分是可選的。沒有我的主要目標,我實際上並沒有看到如何實現動態的部分。 – liepumartins 2012-08-13 07:05:40

+0

你應該在'table中使用'Meta:fields:()'或'exclude:()'。表格定義不應該嗎? – 2012-08-13 09:40:49

回答

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 2012-08-13 12:29:37

+0

是的,這個django-tables2真的是一個很酷的應用程序,並且簡化了很多生活。 – 2012-08-13 12:53:11

+1

我閱讀了15次文檔,無法閱讀,但是當我遵循鏈接時,我看到了它。 FML – Tjorriemorrie 2014-08-08 12:32:24