web-dev-qa-db-de.com

Django Admin Plural korrigieren

Wie ändere ich den Namen einiger Modelle von "Kategorien" in "Kategorien" auf der Admin-Website in der neuen Version von "Entwickler Django"? In der alten Version (ohne Administrationsseiten und Administrationsmodelle) können Sie dies einfach tun. http://www.the-Dig.com/blog/post/customize-plural-name-Django-admin/

Das Setzen von verbose_name_plural in meiner modeladmin-basierten Klasse führt jedoch zu nichts. Stößt jemand auf dasselbe Problem?

123
Andriy Drozdyuk

Nun gut, es scheint, dass der Meta-Klassenansatz immer noch funktioniert. Wenn Sie also eine Meta-Klasse in Ihr Modell einfügen, ist dies immer noch ausreichend:

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

Beachten Sie, dass wir hier den Kleinbuchstaben verwenden, da Django klug genug ist, ihn bei Bedarf in Großbuchstaben zu schreiben.

Ich finde die Einstellung dieser Option in der Modellklasse seltsam im Gegensatz zur Datei admin.py. Hier ist der Speicherort in den Entwicklerdokumenten, an dem er beschrieben wird:
http://docs.djangoproject.com/en/dev/ref/models/options/#verbose-name-plural

227
Andriy Drozdyuk

dazu müssen Sie Metaklassen für Modelle hinzufügen

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

Bonus für Ihre Models admin in apps.py

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