我想知道是否有人可以帮助您确定如何将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
。