list_display - icônes booléennes pour les méthodes

123

Lors de la définition du tableau list_display pour un ModelAdmin classe, si un BooleanFieldou NullBooleanFieldest donné, l'interface utilisateur utilisera de jolies icônes au lieu du texte Vrai / Faux dans la colonne. Si une méthode qui renvoie un booléen est donnée, cependant, elle affiche simplement True / False.

Existe-t-il un moyen de lui faire utiliser les jolies icônes pour une méthode booléenne?

Jason McClellan
la source

Réponses:

234

Ceci est documenté, bien que ce soit un peu difficile à trouver - allez à quelques écrans d' ici , et vous trouverez ceci:

Si la chaîne donnée est une méthode du modèle, ModelAdmin ou un appelable qui retourne True ou False Django affichera une jolie icône "on" ou "off" si vous donnez à la méthode un booleanattribut dont la valeur est True.

et l'exemple donné est:

def born_in_fifties(self):
    return self.birthday.strftime('%Y')[:3] == '195'
born_in_fifties.boolean = True
Daniel Roseman
la source
13
Une idée comment faire lorsque vous utilisez le décorateur @property?: "AttributeError: l'objet 'property' n'a pas d'attribut 'boolean'"
Kye Russell
cela est très utile
minhajul
Belle! C'est ce qui me fait aimer Python + Django.
Nitin Nain