У меня есть wtform с queryselectfield, что в настоящее время заполняется данными из базы данных со всеми командами:Pass целое число из поля зрения, чтобы сформировать в питона колбе
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')]
All это прекрасно работает. Но список команды растет довольно большой, и я хотел бы ограничить команды, которые показывают в этой области для выбранного соревнования, так что я бы изменить вид
@app.route('competitions/<int: comp_id>/pit-scouting', methods=['GET', 'POST'])
, но я не уверен, как передать comp_id из представления в форму, чтобы я мог фильтровать идентификатор соревнования, поэтому я получаю только команды, участвующие в этом соревновании. Я видел this entry, но я не совсем понимаю решение. Любые указатели оценили.
, что, кажется, не помогает. Список, установленный в форме по умолчанию (Teams.query.all()), похоже, не переопределяется ничем, что я делаю в представлении. –
Это, вероятно, потому, что вы загружаете все эти команды в свой PitScoutingForm. –