Django:如何将表单中的选项设置为“选择”小部件

时间:2019-11-26 08:56:07

标签: django django-forms django-select2

我想知道是否有人可以帮助您确定如何将CharField小部件应用于表单级别的Select设置初始选择,而不会覆盖Meta类数据(例如例如verbose_name来自模型级别)?

我的表单如下:

from django.forms.widgets import Select


class AssessmentFormModelForm):

    def __init__(self, *args, **kwargs):
        super(AssessmentForm, self).__init__(*args, **kwargs)

        # Intial choices set here (DOESN'T work)
        self.fields['test_taker_report_uid'].choices = [('', 'Placeholder')]

    class Meta:
        model = Assessment
        fields = (
            'test_taker_report_uid',
        )
        widgets = {
            'test_taker_report_uid': Select2,
        }

我实际上知道我可以通过将widgets中的Meta删除并将其添加为a来使其工作:

class AssessmentFormModelForm):
    test_taker_report_uid = ChoiceField(
        widget=Select,
        choices=[('', 'Placeholder')]
    )

    def __init__(self, *args, **kwargs):

但这很烦人,因为它会覆盖我想保持完整的模型级别上指定的verbose_name

0 个答案:

没有答案