我有一个带有CharField的模型,该模型具有分配给它的选项。我想使用RadioSelect()小部件在ModelForm中显示此字段。
如果我在ModelForm的Meta类中为该字段设置窗口小部件,则窗口小部件会正确显示,所有选项都作为单选按钮。 (呜!)
class Meta:
model = Account
fields = (
'newsletter_setting',
)
widgets = {
'newsletter_setting': forms.RadioSelect()
}
但是如果我尝试在__init__
方法上设置小部件,则呈现小部件时没有选择。
def __init__(self, *args, **kwargs):
super(AccountEditForm, self).__init__(*args, **kwargs)
self.fields['newsletter_setting'].widget = forms.RadioSelect()
为什么会这样?
答案 0 :(得分:1)
您需要重新填充新创建的choices
的<{1}}属性:
RadioSelect