Django - как вернуть человекочитаемое значение из перечисления (для форм с несколькими ящиками)

У меня есть этот код, но он возвращает только короткие значения переменных, 'Plan 1', 'Plan 2', а не их более длинные человекочитаемые формы, которые я определил в модели.

Я генерирую флажки в шаблоне HTML из form.py и view.py путем вызова и передачи переменной

(correct instance).student_loan_plan.all(), 

и передать это через переменную 'context' в функции 'render'

МОДЕЛЬ

# U.K. STUDENT LOAN PLAN MODEL
class UK_Student_Loan_Plan(models.Model):

STUDENT_LOAN_PLANS = [
    ('Plan 1', 'Plan 1: English or Welsh student'),
    ('Plan 2', 'Plan 2: English or Welsh who started on 1 September 2012'),
    ('Plan 4', 'Plan 4: Scottish student who started on 1 September 1998'),
    ('Postgraduate', 'Postgraduate: English or Welsh student'),
]
student_loan_plan_id = models.BigAutoField(verbose_name='Student Loan Plan ID', primary_key=True, serialize=False, auto_created=True)
student_loan_plan    = models.CharField(verbose_name='Student Loan Plan', max_length=12, choices=STUDENT_LOAN_PLANS, blank=True, unique=True, null=True) 

def __str__(self):
    return self.student_loan_plan

ВОПРОС

Q1. Как мне вернуть полную человекочитаемую форму?

Я пробовал это, но безуспешно

def __str__(self):
    return self.student_loan_plan.choice
self.get_student_loan_plan_display() # on views.py

{{object.get_student_loan_plan_display}} # on templates
Вернуться на верх