我试图将小部件更改为名称中包含字符串的表单中的字段,我尝试执行以下操作:
class CI_tableForm(ModelForm):
class Meta:
model = CI_table
fields = report_query_values
for field in report_query_values:
if "_id" in field:
field = forms.MultipleChoiceField(widget=forms.CheckboxSelectMultiple)
不确定是否可能。 目前它没有错误,但也没有改变小部件。
谢谢, 艾萨克
答案 0 :(得分:1)
您应该在__init__
构造函数中执行此操作:
class CI_tableForm(ModelForm):
class Meta:
model = CI_table
fields = report_query_values
def __init__(self, *args, **kwargs):
super(CI_tableForm, self).__init__(*args, **kwargs)
for field in report_query_values:
if "_id" in field:
choices = self.fields[field].widget.choices
self.fields[field].widget = forms.CheckboxSelectMultiple(
choices=choices)