12 Stimmen

Die Anzeigeobjekte alphabetisch in Django-Admin ordnen

Ich bin jetzt in der Lage, das gewünschte Element mit list_display[] anzuzeigen, aber ich möchte, dass sie alphabetisch angezeigt werden. Wie kann man erreichen, dass list_display alphabetisch geordnet ist?

Beispiel 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'

Wie kann man dies so ändern, dass es alphabetisch angezeigt wird? Brauche Hilfe dabei...

26voto

Yuji 'Tomita' Tomita Punkte 110771

Set ModelAdmin.ordering = ('foo', ) to order your admin.

Beispiel

class TeamRoleAdmin(admin.ModelAdmin):
   """ Team Rolle Admin-Ansicht mit Änderungen """
   model = TeamRole
   ordering = ('team', 'role', 'user')
   list_display = ['id', 'user', 'team', 'role']

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

Globalen Model-Metaklasse ändern, ModelAdmin.queryset überschreiben, es gibt viele Möglichkeiten, aber wahrscheinlich möchten Sie die Admin-Reihenfolge.

4voto

Rohan Punkte 49938

In Ihren Modellen Meta können Sie ordering = ['first_name', 'last_name'] spezifizieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X