ich eine wtform mit einem queryselectfield haben, die zur Zeit mit Daten aus der Datenbank mit allen Mannschaften auffüllt:Pass ganze Zahl von Ansicht in Python Kolben bilden
class PitScoutingForm(FlaskForm):
team = QuerySelectField(
query_factory=lambda: Teams.query.all(), get_label='number')
und die Aussicht:
@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')]
Alle das funktioniert gut. Aber das Team Liste wächst ziemlich groß, und ich möchte die Teams begrenzen, die auf den aktuell ausgewählten Wettbewerb auf diesem Gebiet zeigen, so würde ich den Blick auf
@app.route('competitions/<int: comp_id>/pit-scouting', methods=['GET', 'POST'])
ändern, aber ich bin nicht sicher, Wie man die comp_id von der Ansicht an das Formular weitergibt, damit ich die Wettbewerbs-ID filtern kann, damit ich nur die Teams bekomme, die in diesem Wettbewerb sind. Ich sah this entry, aber ich verstehe die Lösung nicht ganz. Alle Hinweise geschätzt.
das scheint nicht zu helfen. Die Liste, die in dem Standardformular (Teams.query.all()) festgelegt wird, scheint von allem, was ich in der Ansicht mache, nicht überschrieben zu werden. –
Das liegt wahrscheinlich daran, dass Sie alle diese Teams in Ihr PitScoutingForm laden. –