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






многословное имя поля является (необязательным) первым параметром при построении поля.
Основываясь на ответе Хавьера; Если вам нужна одна метка в формах (на интерфейсе) и другая метка у администратора, лучше всего установить внутреннюю (админскую) метку в модели и перезаписать ее в формах. Администратор, конечно, будет автоматически использовать метку в поле модели.
Если ваше поле является свойством (методом), вы должны использовать short_description:
class Person(models.Model):
...
def address_report(self, instance):
...
# short_description functions like a model field's verbose_name
address_report.short_description = "Address"
Как предложил Хавьер, вы можете использовать подробное имя в своих полях в 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, указанным в этих полях.
from django.db import models
class MyClassName(models.Model):
field_name = models.IntegerField(verbose_name='Field Caption')
Было предложено изменить имя поля, а не имя класса. Следовательно -1
Вы описываете функцию, которая может использовать поля, а не само поле.