मैं अपने पोस्ट अनुरोधों से डेटा को संभालने के लिए wtforms
का उपयोग कर रहा हूं। एक निश्चित पोस्ट अनुरोध एक बुलियन मूल्य सहित विभिन्न प्रकार के डेटा भेजता है।WTForms BooleanField JSON झूठी मान को सत्य के रूप में मानता है
मेरे प्रपत्र इस तरह दिखता है:
class EditFileForm(Form):
title = StringField('title')
shared = BooleanField('shared')
fileID = IntegerField('fileID')
userID = IntegerField('userID')
मैं देख सकता हूँ कि जब मैं अनुरोध प्राप्त होता है डेटा इस तरह दिखता है:
data = MultiDict(mapping=request.json)
print(data)
>>MultiDict([(u'shared', False), (u'title', u'File5'), (u'userID', 1), (u'fileID', 16)])
आप देख सकते हैं बूलियन क्षेत्र "गलत" है, और कच्चे डेटा को प्रिंट करने से पता चलता है कि हालांकि, जब मैं वास्तविक फॉर्म फ़ील्ड प्रिंट करता हूं तो मुझे सच हो जाता है।
print(form.shared.raw_data)
[False]
print(form.shared.data)
True
मैंने पढ़ा WTForms कैसे झूठे बूलियन मूल्यों को संभालने के लिए पता नहीं हो सकता है कि। ऐसा करने का सही तरीका क्या है? इसके बजाय IntegerField
का उपयोग करना?
मेरे पास एक बूलियनफील्ड वाला एक और रूप है जो मेरे पोस्टग्रेज़ डेटाबेस से झूठे बूलियन मानों को ठीक से संभाल रहा है।