6
我在WTForms
形式獲得從字段數據沒有在,而不是一個空字符串
name = StringField('Name', validators = [Optional(), Length(max = 100)])
當現場被提交空接form.name.data
會如市場預期,包含一個空字符串這一領域。
有沒有辦法讓它返回None
而不是空字符串?正是由於它是非常方便的在數據庫處理null
就像這個update
:
update t
set
name = coalesce(%(name)s, name),
other = coalesce(%(other)s, other)
與上面的代碼我並不需要檢查,如果該字段爲空或不採取行動,相應地它在SQL代碼中的Python代碼中。與3210 null
解決這個很容易。
我會說這是值得懷疑的,從瀏覽器接收到_actual_數據將真正包含該字段爲空字符串。檢查字段值並用「無」替換空字符串有什麼問題?例如。 'whatever_database.insert_record(form.name.data或None,form.other.data或None)' – lanzz
@lanzz _ ...有什麼問題......沒有什麼不對。只是我認爲把邏輯放在它所屬的(IMO)所在的位置是更清潔的;表單處理器 –
@lanzz _如果WTForms有任何工具來自動重寫表單數據..._。確實如此。檢查我的答案。 –