2014-02-17 27 views
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解決這個很容易。

+0

我會說這是值得懷疑的,從瀏覽器接收到_actual_數據將真正包含該字段爲空字符串。檢查字段值並用「無」替換空字符串有什麼問題?例如。 'whatever_database.insert_record(form.name.data或None,form.other.data或None)' – lanzz

+0

@lanzz _ ...有什麼問題......沒有什麼不對。只是我認爲把邏輯放在它所屬的(IMO)所在的位置是更清潔的;表單處理器 –

+1

@lanzz _如果WTForms有任何工具來自動重寫表單數據..._。確實如此。檢查我的答案。 –

回答

相關問題