我创建表单
角色是单选按钮,团队是复选框
class OrganizationMemberForm(forms.ModelForm):
ROLES = (('member','member'), ('admin','admin'),('manager','manager'),('owner','owner'))
role = forms.TypedChoiceField(
choices=ROLES,
widget=forms.RadioSelect,
)
teams = forms.MultipleChoiceField(
widget=forms.CheckboxSelectMultiple,
)
class Meta:
model = OrganizationMember
fields = ['role']
{我的团队需要在我的领域里增加价值
^{pr2}$当我用手测试时,self.request.POST
是
<QueryDict: {'csrfmiddlewaretoken': ['IMkErNAgdNHHcqeisIQclkHvfqwIbR0ycW6ztlvvZ9cufvulmPOlRKQd8PPr4JFe'], 'role': ['admin'], 'teams': ['1', '3']}>
所以,我要单元测试
类OrganizationMemberTest(UserAccountLoginMixin):
def test_change_member_role(self):
response = self.client.post(
reverse(
'organization-member-detail',
kwargs={'slug': self.organization_obj.name, 'pk': self.user_obj.id}
),
{'role':'admin', 'teams':["1","3"]}
)
self.assertEqual(response.status_code, 200)
def test_organization_member_form(self):
form_data = {'role':'admin', 'teams':['1', '3']}
form = OrganizationMemberForm(data=form_data)
self.assertTrue(form.is_valid())
但测试失败,因为表单无效。在
我更改teams
数据
// str -> list
data = {'role':'admin', 'teams':['1','3']}
但是表格也是无效的。。在
为什么我的表格无效?谢谢:)
在表格错误Select a valid choice. That choice is not one of the available choices.
当我在get_form
中打印(团队)时
[(9, 9)]
已打印,因此我更改值1->;9
def test_organization_member_form(self):
form_data = {'role':'admin', 'teams':['9']}
form = OrganizationMemberForm(data=form_data)
self.assertTrue(form.is_valid(), form_error)
但也有同样的错误。。。在
目前没有回答
相关问题 更多 >
编程相关推荐