Django: получение verbose_name и help_text для полей, добавленных через аннотацию в пользовательском менеджере - PullRequest
0 голосов
/ 25 ноября 2018

Я не уверен, правильно ли я подхожу к этому, но я бы хотел дать подробное имя и текст справки для полей, которые я добавляю в свою модель с помощью аннотации.Я использую оба этих поля, когда передаю их на веб-страницу, и использую verbose_name в качестве заголовка таблицы и help_text в качестве всплывающей подсказки (в основном это вызов, который возвращает список словарей с именем поля, типом, подробным именем итекст справки).Я получаю эти значения, вызывая Student._meta.get_field (field) .verbose_name или help_text.Теперь модель, которую я использую, примерно такая:

class Student(models.Model): # new
    first_name = models.CharField(verbose_name='first name', max_length=30, help_text='The first name of the student')
    last_name = models.CharField(verbose_name = 'last name', max_length=30, help_text='The last name of the student')
    date_of_birth=models.DateField(verbose_name='Date of Birth 'help_text = "student's date of birth")
    sex = models.CharField(
    max_length=1,
    choices=(('M','Male'),
             ('F','Female')),
    help_text=_('Sex of the student: (M)ale or (F)emale'),
    verbose_name='Sex'))

У меня есть другая модель, которая в основном отображает возраст ученика в его «категорию» (первокурсник-второкурсник-младший-старший).Затем мой пользовательский менеджер добавляет новое поле в QuerySet, которое определяет категорию на основе даты рождения и добавляет пол в конце (например, Senior-F или что-то в этом роде).Есть ли способ для меня, чтобы иметь возможность вызвать _meta.get_field (имя файла) .verbose_name также в этих новых полях?Если нет, то какой более практичный способ сделать это?Я думал о том, чтобы добавить словарь словарей в мою модель со всеми полями и использовать его, но это кажется такой пустой тратой усилий, учитывая, что поля в Django уже предоставляют эту функциональность

...