Nice! Thank you. I am going to use that right now. Need to create a blog/wiki or some place to document all your tips, tricks and revealed secrets about DAL and web2py.
2010/10/16 mdipierro <[email protected]> > It often happens that you have two tables (for example 'client' and > 'address' which are linked together by a reference and you want to > create a single form that allows to insert info about one client and > its default address. Here is how: > > model: > > db.define_table('client', > Field('name')) > db.define_table('address', > Field('client',db.client,writable=False,readable=False), > Field('street'),Field('city')) > > controller: > > def register(): > form=SQLFORM.factory(db.client,db.address) > if form.accepts(request.vars): > id = db.client.insert(**db.client._filter_fields(form.vars)) > form.vars.client=id > id = db.address.insert(**db.address._filter_fields(form.vars)) > response.flash='Thanks for filling the form' > return dict(form=form) > > Notice the SQLFORM.factory (it makes ONE form using public fields from > both tables and inherits their validators too). > On form accepts this does two inserts (some data in one table and some > data in the other). > > Massimo > > > > -- http://rochacbruno.com.br

