web-dev-qa-db-fra.com

Django fix Admin pluriel

Comment changer le nom de certains modèles de "Catégories" en "Catégories" sur le site d'administration dans la nouvelle version dev Django version? Dans l'ancienne version (sans sites d'administration et modèles d'administration), vous pouviez simplement faire ceci; http://www.the-Dig.com/blog/post/customize-plural-name-Django-admin/

Cependant - maintenant définir verbose_name_plural dans ma classe basée sur modeladmin ne fait rien. Quelqu'un rencontre le même problème?

123
Andriy Drozdyuk

Eh bien, il semble que l'approche de la classe Meta fonctionne toujours. Donc, placer une méta-classe à l'intérieur de votre modèle fera toujours l'affaire:

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

Notez que nous utilisons les minuscules ici, car Django est assez intelligent pour le capitaliser quand nous en avons besoin.

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

227
Andriy Drozdyuk

pour cela, vous devez ajouter des méta-classes pour les modèles

class Category(models.Model):
    --- model field here ---
    class Meta: 
        verbose_name = "Category"
        verbose_name_plural = "Categories"

Bonus pour votre administrateur de modèles dans apps.py

class CategoryConfig(AppConfig):
    name = "Category"
    verbose_name = "Categories"
4