[英]Cannot validate boolean field if value = false (missing field)
我無法僅使用布爾字段值“ 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而不是unidict dict,但無法正常工作。
謝謝 !
如果我正確理解了您的問題,則需要將輸入從字符串解析為bool值。 以下內容: bool('false')
和bool('true')
分別由於其隱式的真實性和 bool('false')
,將始終返回True
。
def to_bool(s):
return s.lower() == 'true'
樣本輸出:
d = {u'vote': [u'false']}
print to_bool(d['vote'][0])
>>> False
解決 :使用NullBooleanField代替BooleanField ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.