我不明白发生了什么,我的形式是
mylist = forms.MultipleChoiceField(required=False, widget=forms.SelectMultiple, label='MyList',help_text = "help")
然后我在页面上添加了一些动态值的jquery,但是当我提交表单时,我将form.is_valid变为false“对象没有属性'cleaning_data'”
这似乎只发生在我在选择框中动态添加值之后,如果我在提交之前选择了一些。如果我没有选择值,则cleaning_data [“mylist”]为空数组。
我该如何解决这个问题?基本上我想在提交后从django表单中访问我动态添加的值列表。
edit
-----
if request.method == 'POST':
form = MyForm(request.POST)
action = request.POST['submit']
if action == 'Update':
mylist = form.cleaned_data['mylist']
else:
form = MyForm()
def clean_mylist(self):
data = self.cleaned_data('mylist')
return data
def clean(self):
cleaned_data = self.cleaned_data
return cleaned_data
答案 0 :(得分:1)
当您提交表单MultipleChoiseField
时,验证所有选定项目都属于MultipleChoiseField
的选择参数。如果您以后动态添加字段,则它们自然不在选择集中。阅读更多here。
作为解决方案,您可以考虑将CharField
与SelectMultiple
小部件一起使用并覆盖clean方法。