На форме редактирования в интерфейсе администратора каждая метка
поля создаётся на основе имён полей модели. Алгоритм простой:
Django просто заменяет символы подчеркивания на пробелы и делает
первую букву заглавной, например, поле
publication_date модели
Book будет иметь метку «Publication date».
Тем не менее, автоматическое преобразование имени поля в текст метки не всегда приводит к удовлетворительному результату, поэтому хотелось бы иметь возможность настраивать их самостоятельно. Вы можете это сделать, указав параметр verbose_name для соответствующего поля модели.
Например, ниже показано как мы можем изменить метку для поля
Author.email на «e-mail»:
class Author(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
email = models.EmailField(blank=True, verbose_name='e-mail')
Сделав это изменение и перезапустив сервер, вы увидите новую метку на форме редактирования автора.
Следует отметить, что не нужно делать первую букву заглавной,
если слово не пишется всегда с
заглавной (например, «USA state»). Django при
необходимости самостоятельно сделает первую букву заглавной, и
оставит verbose_name без изменения, где
заглавная буква не нужна.
Наконец, отметим, что вы можете передавать verbose_name как позиционный аргумент — более компактный
синтаксис. Этот пример эквивалентен предыдущему:
class Author(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
email = models.EmailField('e-mail', blank=True)
Такой вариант не подходит для полей
ManyToManyField и
ForeignKey, потому что для них первым
аргументом должна быть модель. Для этих случаев следует явно
указывать аргумент verbose_name.
| Пред. | Уровень выше | След. |
| Делаем поля необязательными | Начало | Собственные классы ModelAdmin |
0 комментариев | Оставьте комментарий