2012-07-24 13 views
15

Django-tables2 tablosuna hangi sütunları koymak istediğimi nasıl söylerim? Sahte olarak ayarlanabilen bu Column attribute 'görünür' olduğunu biliyorum. Ancak, birçok alana sahip bir modelim var ve bunların sadece bir kısmını görüntülemek istiyorum, bu yüzden çoğu sütunun görünür olmayacağını söylemek için tüm sütunların tam bir listesini yazmak doğru bir yaklaşım gibi görünmüyor.django-tables2 sütun kümesi

Aradığım şey, görüntülenecek sütun adlarının listesini sağlamanın bir yoludur, eğer bu mümkün ise, o zaman kullanıcıya istediği sütunları seçme olanağını bile verebilir.

Diğer bir çözüm aklıma geldi - varsayılan olarak 'görünür' özniteliğini yap, ancak Sütun sınıfında tanımlandığından, tam bir liste yazmam gerekecek.

Herhangi bir django-tables2 tartışma forumu bulamadığım için buradayım. belirterek modeli alanlarının

+0

Sütunları dinamik olarak göster/gizle mi yoksa sadece çalışma zamanında görüntülenecek alanları mı yapılandırıyorsunuz? –

+0

Birincil amaç, bir dizi sütun adı sağlayarak hangi alanların görüntüleneceğini belirlemek, dinamik kısım isteğe bağlıdır. Aslında asıl amacım olmadan dinamik parçanın nasıl elde edilebileceğini anlamıyorum. – liepumartins

+0

'Meta: fields:()' veya 'exclude:()' 'table.Table 'ifadenizde kullanmalısınız. –

cevap

23

Örnek

Kişisel Modeli

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

Kişisel Tablo Ayrıca

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

de kullanabilirsiniz exclude

Related docs entry here

+0

Harika, ben de 'dizi' kullandım çünkü 'alanlar' seçeneği, ModelForm ile olduğu gibi değiştirmez. – liepumartins

+0

Evet, bu django-tables2 gerçekten harika bir uygulama ve hayatı çok kolaylaştırıyor. –

+1

Dokümanları on beş kez okudum ve alamıyordum, ama bağlantınızı izlediğimde onu gördüm. FML – Tjorriemorrie