我有可选的FloatFields设置如下:
class TestForm(FlaskForm):
data = FloatField('Test Field', validators=[Optional()])
这允许用户将该字段留空。但是当他们去编辑条目时,SQLAlchemy对象中的任何Null值都预先填充了字符串'None'。我预先填充了这样的表格:
class Entry(db.Model):
id = db.Column(db.Integer, primary_key=True)
data = db.Column(db.Float)
test_entry = Entry.query.filter_by(id=entry).first()
form = TestForm(obj=test_entry)
return render_template('test.html', form=form)
问题是FloatField不接受字符串。当用户尝试重新提交已编辑的条目时,“无”是一个字符串,它们会收到一个警告,表明预先填充“无”的表单中的所有FloatField都不正确。但如果将它们预先填充为空白,则用户可以重新提交,而无需删除“无”一词。
答案 0 :(得分:0)
不确定这是否是最佳解决方案,但我使用了解决方法
if test_entry.data is None:
form = TestForm(data='')