首页 > 解决方案 > Django 显示选择值

问题描述

我正在尝试在我的 Django 表单中添加多项选择字段。表单中的选项来自 Request 类,其中定义了可能的选项:

   class Request(models.Model):
        RESUME = 'RS'
        NETWORKING = 'NT'
        INTERVIEW = 'IN'
        ADVICE = 'AD'
        JOB_SEARCH = 'JB'
        COVER_LETTER = 'CV'
        LINKEDIN = 'LI'
        PORTFOLIO = 'PR'

       REQUEST_TYPE_CHOICES = [
           (RESUME, 'Resume'),
           (NETWORKING, 'Networking'),
           (INTERVIEW, 'Interview'),
           (ADVICE, 'Career Advice'),
           (JOB_SEARCH, 'Job Search'),
           (COVER_LETTER, 'Cover Letter'),
           (LINKEDIN, 'LinkedIn'),
           (PORTFOLIO, 'Portfolio'),
         ]

       request_type_name = models.CharField(
           max_length=2,
           choices=REQUEST_TYPE_CHOICES,
       )

       def __str__(self):
           return f'{self.request_type_name})'

并以可能的选择形式调用:

    class StudentRegisterForm(UserCreationForm):
        email = models.EmailField()
        school = forms.CharField(max_length=25)
        requests = forms.ModelMultipleChoiceField(queryset=Request.objects.all(),
                                          widget=forms.CheckboxSelectMultiple,
                                          required=True )

        class Meta(UserCreationForm.Meta):
            model = User
            fields = ["username", "email", "first_name", "last_name", "password1", "password2", "school", "requests"]

但是,当显示表单时,它会显示 REQUEST 的缩写,而不是全名。像这样:

我如何才能访问全名(简历、网络等)?

标签: djangodjango-forms

解决方案


推荐阅读