Как следует из названия. Я хочу иметь возможность изменить метку одного поля в приложении администратора. Я знаю атрибут Form.field, но как мне получить мою модель или ModelAdmin для передачи этой информации?
Можете ли вы изменить метку поля в приложении Django Admin?
Ответ 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 в модель полностью необязательно.