我在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代码中采取相应的操作。带有null
的{{1}}可以轻松解决这个问题。
答案 0 :(得分:18)
filters
构造函数
Field
参数
name = StringField(
'Name',
validators = [Optional(), Length(max = 100)],
filters = [lambda x: x or None]
)
http://wtforms.readthedocs.org/en/latest/fields.html#the-field-base-class