在复选框SelectMultiple中预选一组选项



我正在尝试创建一个包含动态选择的MultipleChoiceField表单字段。我想预先选择一组(动态),而其余的应该保持未选中状态。有办法做到这一点吗?

widget=forms.CheckboxSelectMultiple(attrs={'checked': 'checked'})

将导致所有选择都被检查,但我只需要检查一些。

我们将非常感谢

的帮助

您必须将这些选项作为字段的首字母。例如:

    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

相关内容

最新更新