Я использую wtforms
для обработки данных из моих почтовых запросов. Одни определенные запросы на отправку отправляют множество данных, включая логическое значение.WTForms BooleanField обрабатывает ложное значение JSON как true
Моя форма выглядит следующим образом:
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
?
У меня есть другая форма с булевым полем, которая обрабатывает ложные логические значения из моей базы данных postgres просто отлично.