具有空选项的 Flask-wtf 动态 select 字段

Flask-wtf dynamic select field with an empty option

我想填充一个基于查询搜索的 select 字段。

但我也想要一个空的选项。

这是我当前的代码

 form.state.choices=[(s.id, s.name) for s in State.query.all()]

结果是

  <select>
  <option value="CA">California</option>
  <option value="FL">Florida</option>
  </select>

期望的结果是

<select>
<option value=""></option>
<option value="CA">California</option>
<option value="FL">Florida</option>
</select>

如果 select 选项为空也无效,那就太好了。

您可能想要像这样添加空值:

choices = [("", "---")]
form.state.choices=[choices.append((s.id, s.name)) for s in State.query.all()]

然后您可以检查该值是否为空字符串以验证该字段。

您也可以在同一行中添加空值:

form.state.choices=[("", "---")]+[(s.id, s.name) for s in State.query.all()]