Предыдущая часть.
В форме редактирования моделей в панели управления имя каждой формы генерируется из имени поля модели. Алгоритм генерации очень простой — 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' в поле email:
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')
Помните, что вам не нужно указывать заглавные буквы, кроме случаев, когда они должны быть таким всегда, например — «штат США». 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 явно.






