gpt4 book ai didi

使用 CheckboxSelectMultiple 小部件对 ModelChoiceField 表单进行 django 单元测试

转载 作者:行者123 更新时间:2023-12-02 01:22:24 25 4
gpt4 key购买 nike

我有一个表格

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] 有效,因此需要有一种方法。

最佳答案

ModelChoiceField 允许您选择单个 对象。如果要允许选择多个对象,请使用 ModelMultipleChoiceField .

在您的单元测试中,为该字段传递一个 id 列表,例如:

form = forms.TypesForm({'types': [1, 2]})

关于使用 CheckboxSelectMultiple 小部件对 ModelChoiceField 表单进行 django 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39169805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com