web-dev-qa-db-ja.com

Django管理者の複数形を修正

新しいdev Djangoバージョンの管理サイトでモデルの名前を「カテゴリ」から「カテゴリ」に変更するにはどうすればよいですか? this; http://www.the-Dig.com/blog/post/customize-plural-name-Django-admin/

ただし、現在、modeladminベースのクラス内でverbose_name_pluralを設定しても何も起こりません。誰もが同じ問題を引き起こしていますか?

123
Andriy Drozdyuk

まあ、メタクラスのアプローチはまだ機能しているようです。そのため、モデル内にメタクラスを配置することで、引き続きトリックを実行できます。

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

ここでは小文字を使用していることに注意してください。Djangoは必要に応じて大文字にするのに十分なほどスマートです。

Admin.pyファイルとは対照的に、モデルクラスでこのオプションを設定すると奇妙になります。開発ドキュメントの場所は次のとおりです。
http://docs.djangoproject.com/en/dev/ref/models/options/#verbose-name-plural

227
Andriy Drozdyuk

そのためには、モデルのメタクラスを追加する必要があります

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

Apps.pyのモデル管理者のボーナス

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