我完全被困在这里。为什么这个测试用例会失败?
class BogusForm(forms.Form):
bogus_bool = forms.BooleanField()
class TestBogusForm(TestCase):
def test_bogus_false(self):
query_dict = QueryDict('', mutable=True)
query_dict.update({'bogus_bool': False})
bogus_form = BogusForm(query_dict)
self.assertTrue(bogus_form.is_valid())
它无法通过表单字段验证,但前提是当我更新 QueryDict 时 bogus_bool 为 False。如果我说:
query_dict.update({'bogus_bool': True})
然后它通过验证。这里发生了什么?这是 Django 表单中的错误吗?
如果在将 QueryDict 传递给 BogusForm 构造函数之前查看它,它看起来像这样:
<QueryDict: {u'bogus_bool': [False]}>
这对我来说看起来完全合法和正确。