list_display - Boolesche Symbole für Methoden


122

Wenn beim Definieren des Array list_display für eine ModelAdminKlasse ein BooleanFieldoder NullBooleanFieldangegeben wird, verwendet die Benutzeroberfläche gut aussehende Symbole anstelle von True / False-Text in der Spalte. Wenn jedoch eine Methode angegeben wird, die einen Booleschen Wert zurückgibt, wird einfach True / False ausgedruckt.

Gibt es eine Möglichkeit, die hübschen Symbole für eine boolesche Methode zu verwenden?

Antworten:


232

Dies ist dokumentiert, obwohl es etwas schwer zu finden ist. Gehen Sie von hier aus ein paar Bildschirme nach unten , und Sie werden Folgendes finden:

Wenn die angegebene Zeichenfolge eine Methode des Modells ist, zeigt ModelAdmin oder eine aufrufbare Zeichenfolge, die True oder False Django zurückgibt, ein hübsches "Ein" - oder "Aus" -Symbol an, wenn Sie der Methode ein booleanAttribut mit dem Wert "Geben" geben True.

und das gegebene Beispiel ist:

def born_in_fifties(self):
    return self.birthday.strftime('%Y')[:3] == '195'
born_in_fifties.boolean = True

13
Irgendeine Idee, wie es geht, wenn Sie den @ property-Dekorator verwenden?: "AttributeError: 'property'-Objekt hat kein Attribut' boolean '"
Kye Russell


Dies ist sehr hilfreich
Minhajul

Wunderschönen! Deshalb liebe ich Python + Django.
Nitin Nain
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.