sqlalchemy - Flask wtf SelectField,动态输入和验证

标签 sqlalchemy flask flask-wtforms

第一个问题:动态输入到 SelectField(选择)中,在我的数据库(sqlite,带有 SqlAlchemy)中,我有一个表,从这个表中我不会选择 SelectField 中的所有条目。作为所选结果,我需要条目中的 ID。

foo_id = SelectField('Label', choices=[Foo.query.all()])

第二个问题:如果我将其放入 SelectField 中:

foo_id = SelectField('Foo', choices=[(1, 'Foo 1'), (2, 'Foo 2')])

每次:

Not a valid choice

验证发生了什么?

感谢您的宝贵时间,祝您有美好的一天!

最佳答案

两个答案:

  1. 使用wtforms.ext.sqlalchemy.fields.QuerySelectField

  2. 添加一个可调用的 coerce 参数,该参数将强制从浏览器返回的字符串:

    SelectField('Foo', coerce=int, choices=[(1, 'Foo 1'), (2, 'Foo 2')])
    

关于sqlalchemy - Flask wtf SelectField,动态输入和验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17192595/

相关文章:

python - Flask_login 中的 current_user 返回 NoneType

sqlalchemy - whoosh_search() 返回空

python - 为什么显示 BadrequestKeyError?

javascript - 使用 python 和 Flask 进行有趣的时钟流文本

jquery - 如何在不刷新页面的情况下在 flask 中创建链式选择字段?

python - Wtforms,多选文件上传

python - 使用 WTForms 和 Flask 预填充编辑表单

python - sqlalchemy 创建外键?

flask - 根据flask admin中另一个字段的值显示字段

python - 如何使用 SQLAlchemy + PostgreSQL 删除自定义类型?