我有,目前的数据填充从所有球队的数据库queryselectfield一个wtform:通行证整数形成蟒蛇烧瓶
class PitScoutingForm(FlaskForm):
team = QuerySelectField(
query_factory=lambda: Teams.query.all(), get_label='number')
和视图:
@app.route('/competitions/pit-scouting', methods=['GET', 'POST'])
@login_required
def pit_scouting():
form = PitScoutingForm(request.values)
form.team.choices = [(a.id, a.number) for a in
Teams.query.order_by('number')]
所有这工作正常。但球队名单还在不断增加相当大的,而且我想限制,显示在此领域的当前选择的竞争球队,所以我改变了看法,以
@app.route('competitions/<int: comp_id>/pit-scouting', methods=['GET', 'POST'])
,但我不知道如何将视图中的comp_id传递给表单,以便我可以过滤出竞争对手的ID,这样我只能得到那些参加比赛的球队。我看到this entry,但我不太明白解决方案。任何指针赞赏。
这似乎并没有帮助。在默认窗体(Teams.query.all())中设置的列表似乎不会被我在视图中所做的任何操作覆盖。 –
这可能是因为你在PitScoutingForm中加载了所有这些团队。 –