0
我想加載窗體過載中的MultipleChoiceField的默認值。Django MultipleChoiceField不更新窗體過載中的初始數據
所以,如果我給MultipleChoiceField內初始變量它的工作原理:
class UserPreferences(forms.Form):
my_form = forms.MultipleChoiceField(
widget = forms.CheckboxSelectMultiple(),
choices = MY_CHOICES,
initial = MY_INITIAL_DICT)
但是,如果我嘗試從與用戶數據庫中獲取初始值和更新初始如下,my_form初始變量沒有按」 T改變和保持爲空:
class UserPreferences(forms.Form):
my_form = forms.MultipleChoiceField(
widget = forms.CheckboxSelectMultiple(),
choices = MY_CHOICES)
def __init__(self, user):
initial = make_my_dict_from(MyModel.objects.filter(user=user))
super(UserPreferences, self).__init__(initial, empty_permitted)
如果我這樣做了簡單的ChoiceField它的工作原理,但與MultipleChoiceField。
感謝您的任何建議!
對不起,我沒有很好地再現我在__init__中的真實例子,我有更多的參數。當然,初始=初始等等對於其餘的參數是更好更清潔的做法,但那不是我的問題。 Django具有與MultipleChoiceFields相似的特殊行爲。無論如何,謝謝你的回答! – ScotchAndSoda 2012-01-13 17:17:08
我已經使用了MultipleChoiceFields,並且AFAIK沒有特殊的行爲。 – guettli 2012-01-13 21:51:18