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

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

13.12.2008 10:30:41
5 ОТВЕТОВ
РЕШЕНИЕ

многословным имя поля является ( по желанию) первый параметр при построении поля.

74
13.12.2008 13:59:40

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

4
13.12.2008 16:56:52

Если ваше поле является свойством (методом), вы должны использовать 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"
28
7.02.2013 04:25:28
То, что вы описываете, - это функция, которая может использовать поля, а не само поле.
Timo 1.06.2017 12:48:40

Как предположил Хавьер, вы можете использовать подробное имя в своих полях в 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, указанному в этих полях.

19
12.09.2016 12:22:41
from django.db import models

class MyClassName(models.Model):    
    field_name = models.IntegerField(verbose_name='Field Caption')
0
3.11.2019 07:14:02
Было предложено изменить имя поля, а не имя класса. Поэтому -1
Timo 1.06.2017 07:13:18