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.

Reply via email to