2010-04-06 6 views
89

Comment puis-je changer le nom de certains modèles de "Catégories" en "Catégories" sur le site d'administration dans la nouvelle version de dev django? Dans l'ancienne version (sans les sites d'administration et les modèles d'administration), vous pouvez simplement faire cela; Cependant, la définition de verbose_name_plural dans ma classe modeladmin ne fait rien. Est-ce que quelqu'un a le même problème?Django correctif Admin pluriel

+0

Il fonctionne pour moi dans Django 1.1.1 ... Etes-vous sûr que vous mettez à l'intérieur de la classe Meta imbriqué? – rescdsk

+0

yah, je pensais juste que les nouvelles versions se débarrassaient de la classe Meta interne à l'intérieur des modèles. Apparemment non - ils ont juste compliqué les choses avec les classes Admin ... – drozzy

Répondre

162

Eh bien, il semble que l'approche de la classe Meta fonctionne toujours. placer Ainsi, une méta classe dans votre modèle sera toujours faire l'affaire:

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

Notez que nous utilisons ici le cas inférieur, comme django est assez intelligent pour tirer parti quand nous en avons besoin.

Je trouve la définition de cette option dans un fichier bizarre de classe-modèle par opposition au fichier admin.py. Voici l'emplacement dans le dev docs où il est décrit:
http://docs.djangoproject.com/en/dev/ref/models/options/#verbose-name-plural

+10

L'idée de placer ceci dans la classe model (plutôt que dans admin.py) revient à [DRY] (http://en.wikipedia.org/wiki/Don% 27t_repeat_yourself) - juste parce que l'admin est la seule chose prête à l'emploi qui utilise ces informations sur votre modèle ne veut pas dire que ce sera toujours le cas. Heureusement, si vous avez besoin du nom pluriel d'un modèle quelque part dans votre propre code, vous utiliserez cette propriété au lieu de réinventer la roue. – cibyr