2010-05-23 12 views
15

¿Cómo puedo establecer un verbose_name para el método de un modelo, para que se muestre en el formulario change_view del administrador?verbose_name para el método de un modelo

ejemplo:

class Article(models.Model): 
    title = models.CharField(max_length=64) 
    created_date = models.DateTimeField(....) 
    def created_weekday(self): 
     return self.created_date.strftime("%A") 

en admin.py:

class ArticleAdmin(admin.ModelAdmin): 
    readonly_fields = ('created_weekday',) 
    fields = ('title', 'created_weekday') 

Ahora la etiqueta para created_weekday se "crea día de la semana", pero me gustaría que tener una etiqueta diferente que debe ser También puedo usar ugettext_lazy.

He intentado

created_weekday.verbose_name=... 

después del método, pero que no mostró ningún resultado. ¿Hay un decorador o algo que pueda usar, así que podría hacer mi propio "verbose_name"/"label"/whateverthename is?

Respuesta

19

list_display

created_weekday.short_description = 'Foo' 
+1

gracias, eso funciona. no es de extrañar que no lo haya encontrado en la documentación: está escrito en "ModelAdmin.list_display" ... – mawimawi

+3

Sí, pero la documentación de 'readonly_fields' dice" Esta opción se comporta casi idéntica a ModelAdmin.list_display ". –

+0

@Davor Lucic esto no es trabajo – GoTop

Cuestiones relacionadas