Other way is before and after callbacks http://web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#before-and-after-callbacks
If necessary, you can call function: db.table1._before_insert.append( lambda f: my_function(f)) This way you do not need to manually enter the registry 2014-06-07 13:19 GMT-03:00 Anthony <abasta...@gmail.com>: > Aside from the code below, somewhat simpler approaches would be to > manipulate request.post_vars *before* calling SQLFORM, or using an > onvalidation function (which allows you to change form.vars after > validation but before the db insert). With those approaches, you don't have > to manually do the db insert. > > > On Friday, June 6, 2014 11:02:21 PM UTC-4, 黄祥 wrote: >> >> i think you can achieve it using form.validate : >> e.g. >> def booking(): >> form = SQLFORM(db.booking_header) >> if form.validate(): >> db.booking_header.insert(booking_date = form.vars.booking_date, >> buyer = form.vars.buyer, >> notes = form.vars.notes) >> > > Note, to avoid having to explicitly list each field, you can simply do: > > db.booking_header.insert(**db.booking_header._filter_fields(form.vars > )) > > That will insert all the fields in form.vars that belong to > db.booking_header. > > Anthony > > >> redirect(URL('report', 'report_booking') ) >> return dict(form = form) >> >> ref : >> http://web2py.com/books/default/chapter/29/07/forms-and-validators >> >> best regards, >> stifan >> > -- > Resources: > - http://web2py.com > - http://web2py.com/book (Documentation) > - http://github.com/web2py/web2py (Source code) > - https://code.google.com/p/web2py/issues/list (Report Issues) > --- > You received this message because you are subscribed to the Google Groups > "web2py-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to web2py+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.