我有一张表格
class TypesForm(forms.Form):
....
types = forms.ModelChoiceField(
label='Types',
queryset=models.Type.objects.all(),
widget=forms.CheckboxSelectMultiple)
...
当我想测试多个选定框时,如何为此表单编写单元测试?
对于一个字段检查的工作如下:
form = forms.TypesForm({'types': 1})
self.assertTrue(form.is_valid())
但是我试图设置两个选中的复选框,它会导致错误:
{'types': [u'Select a valid choice. That choice is not one of the available choices.']}
我试过,但这些都行不通。例如。 :
form = forms.TypesForm({'types': [1, 2]})
form = forms.TypesForm({'types': (1, 2)})
和其他选项..
对于forms.ModelForm,列表[1,2]有效,所以需要有一种方法。
答案 0 :(得分:2)
self.frame.width
允许您选择单个对象。如果要允许选择多个对象,请使用ModelMultipleChoiceField
。
在单元测试中,传递字段的ID列表,例如:
ModelChoiceField