python - 从字段数据中获取 None 而不是空字符串

标签 python wtforms flask-wtforms

我在 WTForms 表单中有这个字段

name = StringField('Name', validators = [Optional(), Length(max = 100)])

当字段提交为空时,form.name.data 将如预期那样包含一个空字符串。

有什么方法可以让它返回 None 而不是空字符串?只是因为像这样update中处理数据库中的null非常方便:

update t
set 
    name = coalesce(%(name)s, name),
    other = coalesce(%(other)s, other)

使用上面的代码,我不需要检查字段是否为空,并在 SQL 代码中的 Python 代码中采取相应的操作。 nullcoalesce 可以轻松解决这个问题。

最佳答案

Field构造函数有filters参数

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

关于python - 从字段数据中获取 None 而不是空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21831216/

相关文章:

python - Flask 将 Form 转换为 Json 错误

flask - WTF form.validate_on_submit() 不起作用

python - Flask-wtforms中不同的Form对象是如何通信的?

python - Azure Web作业导入错误: No module named email_validator

python - 实际上在云中训练谷歌云机器学习引擎 - 对该方法的澄清

python - 将 flask 形式自定义为表格

python - Flask WTForms 在 validate_on_submit() 上总是给出 false

Python numpy : linalg. pinv() 太不精确

python - 多项式特征变换

Wtforms表单域文本放大