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 как показано ниже:
Теперь я хотел отобразить единственное имя модели "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, как показано ниже:
Теперь, мои вопросы следующие:
- Как правильно отобразить единственное имя модели "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.
Хотя лично я предпочел бы множественное число в названии.