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?

Jason McClellan
quelle

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
Daniel Roseman
quelle
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