2010-04-06 14 views
89

¿Cómo cambio el nombre de algunos modelos de "Categorías" a "Categorías" en el sitio de administración en la nueva versión dev django? En la versión anterior (sin sitios de administración y modelos de administrador), puede hacer esto; http://www.the-dig.com/blog/post/customize-plural-name-django-admin/Django fix Admin plural

Sin embargo, ahora estableciendo verbose_name_plural dentro de mi clase modeladmin no hace nada. ¿Alguien tiene el mismo problema?

+0

Funciona para mí en Django 1.1.1 ... ¿Seguro que está poniendo dentro de la clase anidada Meta? – rescdsk

+0

yah, solo pensé que las nuevas versiones se deshacían de la clase Meta interior dentro de los modelos. Aparentemente no, simplemente complicaron las cosas con las clases de Admin ... – drozzy

Respuesta

162

Bueno, parece que el enfoque de clase Meta todavía funciona. Así la colocación de una clase meta dentro de su modelo seguirá siendo hacer el truco:

class Category(models.Model): 
    class Meta: 
     verbose_name_plural = "categories" 

en cuenta que utilizamos la minúscula aquí, como Django es lo suficientemente inteligente como para sacar provecho cuando lo necesitamos.

Encuentro esta opción en la clase de modelo raro en comparación con el archivo admin.py. aquí es la ubicación en la documentación dev donde se describe:
http://docs.djangoproject.com/en/dev/ref/models/options/#verbose-name-plural

+10

La idea de establecer esto en la clase de modelo (en lugar de admin.py) se reduce a [DRY] (http://en.wikipedia.org/wiki/Don% 27t_repeat_yourself): solo porque el administrador sea el único dispositivo que utiliza esta información sobre su modelo no significa que siempre lo será. Con suerte, si necesita el nombre plural de un modelo en algún lugar de su propio código, usará esta propiedad en lugar de reinventar la rueda. – cibyr