2009-09-17 12 views
10

Tratando de entender a Django Admin un poco mejor, pero la documentación de Django me parece un poco escasa (o quizás mi capacidad de comprensión).Django Admin Fieldsets

Sé que puede usar conjuntos de campos para controlar el diseño de ciertas páginas de administrador. Lo que no puedo entender es cuáles son los nombres de campo.

Si tengo la siguiente clase

Class Demo(model.Model): 
    name = models.CharField(max_length=150) 
    address = models.CharField(max_length=150) 
    city = models.CharField(max_length=50) 
    zip = models.CharField(max_length=15) 

y de administración y la clase de la siguiente manera

Class DemoAdmin(admin.ModelAdmin): 
    list_display = ('name', 'City') 

En este, aunque ejemplo artificioso, lo fieldsets posible puedo usar?

+0

Es probable que desee un modelo más complejo antes de ir por el camino de los conjuntos de campo. Personalmente, creo que la documentación de los conjuntos de campo es bastante buena: http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.fieldsets –

+0

Estoy de acuerdo en que sería más apropiado con un modelo más complejo. Este no es mi modelo real. En cuanto a la documentación ... no he podido encontrar nada que realmente te diga cuáles son los nombres de campo. Es decir, ¿todos los nombres de las variables se convierten en nombres de conjuntos de campos? ¿Cómo se llaman los conjuntos de campos "buitl-in"? – Consiglieri

+0

Creo que ha entendido mal qué conjuntos de campo son. Es solo una forma de poder agrupar los campos en una Página de administración de modelos. Simplemente implemente el ejemplo en la documentación y debería ser evidente para usted. – orwellian

Respuesta

26

Pruebe esto, y pronto verá cómo funciona.

class DemoAdmin(admin.ModelAdmin): 
    list_display = ('name', 'city') 
    fieldsets = (
     ('Standard info', { 
      'fields': ('name') 
     }), 
     ('Address info', { 
      'fields': ('address', ('city', 'zip')) 
     }), 
    ) 

Cuando vas a la variación de página para editar, obtendrá un cuadro de "información estándar" con el nombre de la caja. Y obtendrá otra casilla que dice "información de la dirección" primero con el campo de dirección, y luego la ciudad y los campos zip en la misma línea después.

+0

¡Gracias, dándole un giro! – Consiglieri

+3

@Consiglieri Si funcionó, es normal hacer clic en el botón "respuesta aceptada" :) –