Pan*_*los 3 flask flask-sqlalchemy flask-wtforms
我正在使用 Flask、SQLAlchemy 和 WTForms 开发一个 Web 应用程序。我想通过数据库查询在SelectField中获取我的选择。
有更多细节。
my_query = my_table.query.with_entities(My_Entities).all()
Run Code Online (Sandbox Code Playgroud)
结果
[(u'1',), (u'2',), (u'3',)]
我的课
class MyForm(Form):
My_Var = SelectField(choices=RIGHT_HERE)
Run Code Online (Sandbox Code Playgroud)
有什么办法吗?
在这种情况下,您可以使用 WTForms 中的扩展。您要做的就是导入QuerySelectField您需要的:
from wtforms.ext.sqlalchemy.fields import QuerySelectField
然后您创建一个函数来查询数据库并返回您需要的内容:
def skill_level_choices():
return db.session.query(SkillLevel).all()
Run Code Online (Sandbox Code Playgroud)
获得查询对象后,您可以QuerySelectField使用query_factory参数将其放入您的查询对象中
skill_level = QuerySelectField(u'Skill level',
validators=[Required()],
query_factory=skill_level_choices)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10251 次 |
| 最近记录: |