2012-08-17 9 views
6

Ora sono in grado di visualizzare l'elemento che desidero utilizzare list_display [] ma vorrei che fossero visualizzati in ordine alfabetico. Come fai a fare in modo che list_display sia ordinato alfabeticamente?Ordinare gli elementi di visualizzazione in ordine alfabetico in Django-Admin

Esempio in Django-admin:

class PersonAdmin(admin.ModelAdmin): 
    list_display = ('upper_case_name',) 

    def upper_case_name(self, obj): 
     return ("%s %s" % (obj.first_name, obj.last_name)).upper() 
    upper_case_name.short_description = 'Name' 

Come modificare tale da visualizzare in ordine alfabetico? Hai bisogno di aiuto su questo ...

risposta

12

Impostare ModelAdmin.ordering = ('foo',) per ordinare l'amministratore.

https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.ordering

Modificare Metaclasse modello globale, override ModelAdmin.queryset, ci sono molti modi, ma è più probabile vuole l'ordinamento Admin.

+1

Grazie .. guardato ma non sapevo come usarlo ... ma il tuo esempio chiarisce il dubbio ... – lakesh

+1

un qn: dove posizionare ModelAdmin.ordering = ('foo',)? dovrebbe essere separato dal codice reale? ho ragione? – lakesh

+0

laghi: nella definizione ModelAdmin, accanto a cose come list_display = ('foo', 'bar',). La sintassi è simile per una ragione! –

1

Nei tuoi modelli Meta puoi specificare ordering = ['first_name', 'last_name'].

Problemi correlati