Подробное название для админской модели Class в Django - PullRequest
13 голосов
/ 11 мая 2011

Можно ли создать подробное имя для фактической модели класса?

class User(models.Model):
    fname = models.CharField(max_length=50, verbose_name = 'first name')

Таким образом, в административной панели на него будет ссылаться его подробное имя, а не 'user'?

Ответы [ 3 ]

32 голосов
/ 11 мая 2011
class User(models.Model):
    fname = models.CharField(max_length=50, verbose_name = 'first name')

    class Meta:
         verbose_name = "users"

Источник: https://docs.djangoproject.com/en/2.1/topics/db/models/#meta-options

4 голосов
/ 22 декабря 2017

verbose_name и verbose_name_plural оба свойства класса Meta очень важны для изменения поведения Django по умолчанию для отображения имени наших моделей на Интерфейс администратора .

Вы можете изменить отображение названий моделей , используя Интерфейс администратора , используя verbose_name и verbose_name_plural свойства и имена полей модели с использованием аргумента ключевого слова verbose_name .

Ниже приведены 2 примеров.

Страна Модель:

class Country(models.Model):
    name = models.CharField(max_length=100, null=False, blank=False, help_text="Your country", verbose_name="name")
    userid = models.ForeignKey(User, on_delete=models.CASCADE)

    def __str__(self):
        return "Country " + str(self.id) + " - " + self.name

    class Meta:
        verbose_name = "Country"
        verbose_name_plural = "Countries"

Если вы не укажете verbose_name_plural , тогда Джанго примет его как Страны , что выглядит не так, какмы хотим это как Страны .

Это лучше подходит для следующего типа Модель .

Продукт модель:

class Gender(models.Model):
    name = models.CharField(max_length=100, null=False, blank=False, help_text="Gender", verbose_name = "name")
    userid = models.ForeignKey(User, on_delete=models.CASCADE)

    def __str__(self):
        return "Gender " + str(self.id) + " - " + self.name

    class Meta:
        verbose_name = "Gender"
4 голосов
/ 10 декабря 2016

Вы также можете добавить verbose_name_plural к классу Meta.

...