Verbose_name vs verbose_name_plural (Django)

Я создал модель "Категория" с "verbose_name" и "verbose_name_plural". следуя некоторым учебникам и документации verbose_name и verbose_name_plural:

# "store/models.py"

from django.db import models

class Category(models.Model):
    name = models.CharField(max_length=100)
    
    class Meta:
        verbose_name = "category"
        verbose_name_plural = "categories"

Затем, множественное имя модели "Categories" отображается в Django Admin как показано ниже:

enter image description here

Теперь я хотел отобразить единственное имя модели "Category" но когда я удалил "verbose_name_plural" как показано ниже:

# "store/models.py"

from django.db import models

class Category(models.Model):
    name = models.CharField(max_length=100)
    
    class Meta:
        verbose_name = "category"
        # verbose_name_plural = "categories"

"Categorys" отображался вместо "Category" в Django Admin, как показано ниже:

enter image description here

Теперь, мои вопросы следующие:

  • Как правильно отобразить единственное имя модели "Category" в Django Admin?
  • В чем разница между "verbose_name" и "verbose_name_plural"?
  • Как правильно использовать "verbose_name" и "verbose_name_plural"?

Если вы явно не установите атрибут verbose_name_plural на Model, Django добавляет 's' к имени модели при отображении имени в админке.

Итак, в вашем случае, если вы хотите, чтобы текст заголовка в админке отображался так же, как название вашей модели, установите:

class Category(models.Model):
    ...
    class Meta:
         verbose_name = 'category'
         verbose_name_plural = 'Category'

Ссылка на кодовую базу Django.

Хотя лично я предпочел бы множественное число в названии.

Вернуться на верх