If I understand you correctly, you simply want to use the matched scenario on the next stage of the form. So, after validation you need to pass the id of the matched scenario either by:
a) storing it in a session (1) and reading it later in the "next" function (2) 1) session.scenario = scenario_id 2) scenario = db.scenarios(session.scenario) b) adding it as an argument of the "next" URL and reading it in the "next" function (2) 1) redirect(URL("next", args=[scenario_id])) 2) scenario = db.scenarios(request.args[0]) The same applies to the form data. You can (a) store them all in session object or (b) store them in DB and just pass the form.vars.id as an argument of the "next" URL.