DTo*_*own 1 python flask flask-wtforms
我想使用从路由传入的默认值来执行查询选择字段.我无法弄清楚如何将视图中的变量传递给Form类
class transactionsForm(Form):
loan_id = QuerySelectField('trans_id', validators=[Required()], get_label='name',
query_factory=lambda: trans.query.filter_by(trans_id=[MY VARIABLE]).all())
Run Code Online (Sandbox Code Playgroud)
这来自QuerySelectField文档:
可以在视图中设置字段上的查询属性,以便为字段分配每个实例的查询.如果未设置该属性,则将调用传递给字段构造函数的query_factory callable以获取查询.
这意味着您使用查询定义表单:
class transactionsForm(Form):
loan_id = QuerySelectField('trans_id', validators=[Required()], get_label='name')
Run Code Online (Sandbox Code Playgroud)
然后在您的视图函数中,一旦有了实例,就可以分配查询:
def viewFunction(my_variable):
form = transactionsForm()
my_query = trans.query.filter_by(trans_id=my_variable)
form.loan_id.query = my_query
if form.validate_on_submit():
# ...
Run Code Online (Sandbox Code Playgroud)