我正在尝试创建一个包含动态选择的MultipleChoiceField表单字段。我想预先选择一组(动态)这些,而其余部分应保持不受控制。有没有办法做到这一点?
widget=forms.CheckboxSelectMultiple(attrs={'checked': 'checked'})
将导致检查所有选项,但是我只需要检查一些选项。
非常感谢帮助
答案 0 :(得分:0)
您必须将这些选项作为字段的首字母。例如:
my_field = forms.MultipleChoiceField(
widget=forms.CheckboxSelectMultiple(),
choices=(('foo', 'Foo text'), ('bar', 'Bar text'), ('baz', 'Baz text')),
initial=('foo', 'bar'))
)
如果希望这些值是动态的,则必须在渲染表单之前的任何步骤更改字段的初始参数。这可以这样实现:
my_dynamic_initials = ('foo', 'bar')
my_form.fields['my_field'].initial = my_dynamic_initials