Подтвердить что ты не робот

Можете ли вы изменить метку поля в приложении Django Admin?

Как следует из названия. Я хочу иметь возможность изменить метку одного поля в приложении администратора. Я знаю атрибут Form.field, но как мне получить мою модель или ModelAdmin для передачи этой информации?

4b9b3361

Ответ 1

подробное имя поля является (необязательным) первым параметром при построении поля.

Ответ 2

Если ваше поле является свойством (методом), вы должны использовать short_description:

class Person(models.Model):
    ...

    def address_report(self, instance):
        ...
    # short_description functions like a model field verbose_name
    address_report.short_description = "Address"

Ответ 3

Как предложил Хавьер, вы можете использовать подробное имя в своих полях в model.py. Пример, как показано ниже,

class Employee(models.Model):
     name = models.CharField(max_length = 100)
     dob = models.DateField('Date Of Birth')
     doj = models.DateField(verbose_name='Date Of Joining')
     mobile=models.IntegerField(max_length = 12)
     email = models.EmailField(max_length=50)
     bill = models.BooleanField(db_index=True,default=False)
     proj = models.ForeignKey(Project, verbose_name='Project')

Здесь файлы dob, doj и proj будут отображать свое имя в форме администратора в соответствии с именем verbose_name, указанным в этих полях.

Ответ 4

Основываясь на ответе Хавьера; если вам нужна одна метка в формах (в интерфейсе) и еще одна метка в admin, лучше всего установить внутренний (администратор) в модель и перезаписать ее на бланках. Администратор, конечно, автоматически будет использовать метку в поле модели.

Ответ 5

Мета-параметры

Дайте метаданные модели, используя внутренний класс Meta, например:

from django.db import models

class MyClassName(models.Model):

    class Meta:
        verbose_name = "Question"
        verbose_name_plural = "Questions"

человекочитаемые единственные и множественные имена (verbose_name и verbose_name_plural). Нет необходимости, и добавление класса Meta в модель полностью необязательно.