2009-09-17 3 views
10

Cercando di capire Django Admin un po 'meglio, ma trovo la documentazione di Django un po' carente a volte (o forse la mia capacità di capire).Django Admin Fieldsets

So che è possibile utilizzare i set di campi per controllare il layout di alcune pagine di amministrazione. Quello che non riesco a capire è quali siano i nomi dei fieldset.

Se ho la seguente classe

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) 

e di classe e Admin come il seguente

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

In questo, seppur esempio forzato, quale possibile fieldsets potrei usare?

+0

Probabilmente vorresti un modello più complesso prima di percorrere la strada dei fieldset. Personalmente, penso che la documentazione dei fieldset sia piuttosto buona: http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.fieldsets –

+0

Sarò d'accordo che sarebbe più appropriato con un modello più complesso. Questo non è il mio modello attuale. Per quanto riguarda la documentazione .. non sono stato in grado di trovare nulla che ti dica effettivamente quali sono i nomi dei fieldset .. cioè tutti i nomi delle variabili diventano nomi fieldset .. quali sono i campi "buitl-in" chiamati? – Consiglieri

+0

Penso che tu abbia frainteso cosa sono i fieldset. È solo un modo per essere in grado di raggruppare i campi in una pagina di amministrazione del modello. Basta implementare l'esempio nella documentazione e dovrebbe essere chiaro per te. – orwellian

risposta

26

Prova questo, e vedrai presto come appare/funziona.

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

Quando si va al cambio-pagina per modificare, si otterrà una scatola "informazioni standard" con il nome-box. E riceverai un'altra casella con le "informazioni sull'indirizzo" con il campo dell'indirizzo prima, e dopo la città e i campi zip sulla stessa riga.

+0

Grazie, dandogli un vortice! – Consiglieri

+3

@Consiglieri Se ha funzionato, è normale fare clic sul pulsante "risposta accettata" :) –