2011-11-22 16 views
86

Quando si definisce la matrice list_display per una classe ModelAdmin, se viene fornita una BooleanField o NullBooleanField, l'interfaccia utente utilizzerà icone di aspetto piacevole anziché il testo Vero/Falso nella colonna. Se viene fornito un metodo che restituisce un valore booleano, tuttavia, stampa semplicemente True/False.list_display - icone booleane per i metodi

C'è un modo per far sì che usi le belle icone per un metodo booleano?

risposta

163

Questo è documentato, anche se è un po 'difficile da trovare - andare un paio di schermi giù da here, e troverete questo:

If the string given is a method of the model, ModelAdmin or a callable that returns True or False Django will display a pretty "on" or "off" icon if you give the method a boolean attribute whose value is True .

e l'esempio dato è:

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

Qualche idea su come farlo quando usi @property decorator ?: "AttributeError: l'oggetto 'property' non ha attributo 'boolean'" –

+3

@Kye http://stackoverflow.com/questions/12842095/how-to-display -a-boolean-property-in-the-django-admin –

+0

questo è molto utile – minhajul

Problemi correlati