2009-09-17 8 views
10

Essayer de mieux comprendre Django Admin, mais la documentation de Django me manque parfois (ou peut-être ma capacité à comprendre).Django Admin Fieldsets

Je sais que vous pouvez utiliser des ensembles de champs pour contrôler la disposition de certaines pages d'administration. Ce que je ne peux pas saisir, c'est ce que sont les noms de fieldset.

Si j'ai la classe suivante

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) 

et classe et Admin comme suit

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

Dans ce, même exemple artificiel, ce fieldsets possible pourrais-je utiliser?

+0

Vous voudriez probablement un modèle plus complexe avant de vous lancer sur la route des fieldsets. Personnellement, je pense que la documentation de fieldsets est assez bonne: http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.fieldsets –

+0

Je suis d'accord qu'il serait plus approprié avec un modèle plus complexe. Ce n'est pas mon modèle actuel. En ce qui concerne la documentation, j'ai été incapable de trouver quoi que ce soit qui vous indique réellement quels sont les noms de fieldset. I.e tous les noms de variables deviennent-ils des noms de fieldset ... quels sont les fieldsets "buitl-in" appelés? – Consiglieri

+0

Je pense que vous avez mal compris quels fieldsets sont. C'est juste un moyen pour vous de pouvoir grouper les champs sur une page d'administration modèle. Il suffit de mettre en œuvre l'exemple dans la documentation et il devrait devenir évident pour vous. – orwellian

Répondre

26

Essayez ceci, et vous verrez bientôt à quoi il ressemble/fonctionne.

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

Quand vous allez au changement page pour modifier, vous obtiendrez une boîte « info standard » avec le nom boîte. Et vous obtiendrez une autre boîte qui dit "adresse info" avec le champ d'adresse d'abord, puis la ville et les champs zip sur la même ligne après.

+0

Merci, en faisant un tourbillon! – Consiglieri

+3

@Consiglieri Si cela a fonctionné, il est normal de cliquer sur le bouton "réponse acceptée" :) –

Questions connexes