簡體   English   中英

如果value = false,則無法驗證布爾字段(缺少字段)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM