you can do this: form = SQLFORM(db.topic) if form.accepts(request.vars, session): session.flash = 'New topic created' redirect(URL(args=request.args))
On Aug 25, 11:11 pm, Richard <richar...@gmail.com> wrote: > I have a table that references another record of the same table: > > db.define_table('topic', > Field('name'), > Field('category', requires=IS_EMPTY_OR(IS_IN_DB(db, 'topic.id', '% > (name)s'))), > ) > > I then create new records using SQLFORM: > > form = SQLFORM(db.topic) > if form.accepts(request.vars, session): > response.flash = 'New topic created' > > This all works, however the newly created record won't appear in the > list of categories when the form is next loaded. > Is there a way to make the form use the newly created category? > > My temporary hacky solution is to force a reload with: > > form = SQLFORM(db.topic) > if form.accepts(request.vars, session): > response.flash = 'New topic created' > form = SQLFORM(db.topic) > > Richard