Python Flask form.populate_obj()保留空值

Python Flask form.populate_obj()保留空值,python,flask,Python,Flask,我有一个编辑功能,可以编辑某些数据。形式(我使用flask_wtf)相同,因此我可以使用: form.populate_obj(build) 现在我看到了所有的旧值并可以编辑它们,但有些字段没有值。这些字段在数据库中为null。通常我不需要编辑它们,所以我只是忽略它们 这里有一个问题,如果我提交编辑表单,所有应该保持null的值都会变成空字符串“” 下面是一个确切的例子: 这是一个我只想编辑添加日期的条目。我忽略了强盗和附加信息。 提交后,我预计,bandits和additional_inf

我有一个编辑功能,可以编辑某些数据。形式(我使用flask_wtf)相同,因此我可以使用:

form.populate_obj(build)
现在我看到了所有的旧值并可以编辑它们,但有些字段没有值。这些字段在数据库中为
null
。通常我不需要编辑它们,所以我只是忽略它们

这里有一个问题,如果我提交编辑表单,所有应该保持
null
的值都会变成空字符串
“”

下面是一个确切的例子:

这是一个我只想编辑添加日期的条目。我忽略了
强盗
附加信息

提交后,我预计,
bandits
additional_info
仍然是
null
,但它们会发生变化:


当然,我可以重写整个代码,并使用与将这些值添加到DB中相同的逻辑,但我觉得应该有更好的解决方案。

能否将过滤器添加到表单字段:

filters = [lambda x: x or None]
例如:

birthtown = StringField("Birthtown", filters = [lambda x: x or None])

这将使用您在字段中写入的内容,或者不使用。至少你会摆脱空字符串。还是重写太多而无法接受?

很好的解决方案,我还没有考虑过过滤器。谢谢