2012-07-24 21 views
15

¿Cómo decir a django-tables2 qué columnas me gustaría tener en la tabla? Sé que hay Column attribute 'visible', que se puede establecer en False. Sin embargo, tengo un modelo con muchos campos y me gustaría mostrar solo algunos de ellos, por lo que escribir una lista completa de todas las columnas, solo para decir que la mayoría de ellos no será visible, no parece el enfoque correcto.django-tables2 conjunto de columnas

Lo que estoy buscando es una manera de proporcionar la lista de nombres de columnas que se mostrarán, si esto es posible, tal vez incluso le dé al usuario la posibilidad de seleccionar qué columnas quiere.

La otra solución me vino a la mente: hacer que el atributo 'visible' sea Falso por defecto, pero como está definido en la clase Columna, aún necesitaría escribir una lista completa.

Como no he encontrado ningún foro de discusión django-tables2, pregunto aquí.

+0

¿Quiere decir mostrar/ocultar columnas dinámicamente o simplemente configurar qué campos mostrar en tiempo de ejecución? –

+0

El objetivo principal es determinar qué campos mostrar al proporcionar un conjunto de nombres de columna, la parte dinámica es opcional. Realmente no veo cómo se podría lograr la parte dinámica sin mi objetivo principal. – liepumartins

+0

Debería usar 'Meta: fields:()' o 'exclude:()' en su definición 'tables.Table' ¿no es así? –

Respuesta

23

ejemplo para especificar campos del modelo

su modelo

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

su mesa

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

También usted puede también utilizar exclude

Related docs entry here

+0

Genial, también utilicé 'secuencia', ya que la opción 'campos' no lo altera, como lo hace con ModelForm. – liepumartins

+0

Sí, esta aplicación django-tables2 es realmente genial y simplifica mucho la vida. –

+1

Lo leí quince veces y no pude recogerlo, pero cuando lo seguí, lo vi. FML – Tjorriemorrie

Cuestiones relacionadas