Flask form.populate_obj()保留空值

时间:2017-11-23 18:17:41

标签: python flask

我有一个编辑功能,我可以编辑某些数据。表格(我使用flask_wtf)是相同的,所以我可以使用:

form.populate_obj(build)

现在我看到所有旧值并可以编辑它们,但某些字段没有值。数据库中的这些字段为null。我经常不需要编辑它们,所以我只是忽略它们。

这就是问题所在,如果我提交编辑表单,所有应保留的值null将成为空字符串""

这是一个确切的例子:

这是一个我只想编辑date_added的条目。我忽略了banditsadditional_infoenter image description here

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

enter image description here

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

1 个答案:

答案 0 :(得分:1)

您可以在表单字段中添加过滤器:

    showWelcome()

例如:

filters = [lambda x: x or None]

这将使用你在字段中写的任何内容或无。至少你会摆脱空字符串。或者这太多的改写是否可以接受?