2011-11-22 10 views
86

Al definir el conjunto list_display para una clase ModelAdmin, si se proporciona un BooleanField o NullBooleanField, la interfaz de usuario utilizará iconos bonitos en lugar de texto verdadero/falso en la columna. Sin embargo, si se proporciona un método que devuelve un booleano, simplemente imprime True/False.list_display - iconos booleanos para los métodos

¿Hay alguna manera de hacer que use los iconos bonitos para un método booleano?

Respuesta

163

Esto está documentado, aunque es un poco difícil de encontrar - ir un par de pantallas desde here, y encontrará esto:

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 .

y el ejemplo dado es:

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

¿Alguna idea de cómo hacerlo cuando utiliza el @property decorator ?: "AttributeError: 'propiedad' no tiene ningún atributo 'booleano'" –

+3

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

+0

esto es muy útil – minhajul

Cuestiones relacionadas