Tôi đang sử dụng wtforms
để xử lý dữ liệu từ các yêu cầu bài đăng của mình. Một yêu cầu đăng nhất định gửi nhiều loại dữ liệu bao gồm giá trị boolean.WTForms BooleanField xử lý giá trị giả JSON là true
dạng của tôi trông như thế này:
class EditFileForm(Form):
title = StringField('title')
shared = BooleanField('shared')
fileID = IntegerField('fileID')
userID = IntegerField('userID')
tôi có thể thấy rằng khi tôi nhận được yêu cầu dữ liệu trông như thế này:
data = MultiDict(mapping=request.json)
print(data)
>>MultiDict([(u'shared', False), (u'title', u'File5'), (u'userID', 1), (u'fileID', 16)])
Bạn có thể thấy lĩnh vực boolean là "false", và in dữ liệu thô cho thấy rằng quá Tuy nhiên, khi tôi in trường mẫu thực tế tôi nhận được sự thật.
print(form.shared.raw_data)
[False]
print(form.shared.data)
True
Tôi đọc rằng WTForms có thể không biết cách xử lý các giá trị boolean sai. Cách thích hợp để làm điều này là gì? Sử dụng một số IntegerField
để thay thế?
Tôi có một biểu mẫu khác với trường booleanfield xử lý các giá trị boolean sai từ cơ sở dữ liệu của tôi sau khi đăng bài tốt.