【发布时间】:2018-03-01 14:27:30
【问题描述】:
我有这样的可选 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 不接受字符串。当用户尝试重新提交已编辑的条目时,“None”是一个字符串,他们会收到一条警告,即表单中预先填充“None”的所有 FloatField 都不正确。但是,如果它们被预先填充为空白,则用户可以重新提交,而无需删除“无”一词。
【问题讨论】:
-
你的
Entry模型是什么样的? -
编辑了我上面的帖子
标签: flask flask-sqlalchemy flask-wtforms