我无法仅使用布尔字段值“false”验证POST数据,这适用于“true”。我已经尝试强制'0','False'和'false'但是is_valid()方法返回false,错误“此字段是必需的”。
我的帖子数据字典是:
<QueryDict: {u'vote': [u'false'], u'csrfmiddlewaretoken': [u'l3RlmeHDnv7Y5aQiNJoadLUZDsiOFUI'], u'id': [u'40']}>
如果我为此字段发布'true'值,则QueryDict完全相同,只是'false'正在改变。
我试图转换为str而不是unicode dict,但它不起作用。
谢谢!
答案 0 :(得分:1)
如果我正确理解你的问题,你需要将字符串的输入解析为bool值。以下内容:bool('false')
和bool('true')
将始终返回True
,因为它们分别隐含def to_bool(s):
return s.lower() == 'true'
。
d = {u'vote': [u'false']}
print to_bool(d['vote'][0])
>>> False
示例输出:
{{1}}
答案 1 :(得分:0)
解决: 使用NullBooleanField而不是BooleanField ...