If you want db.person to be updated upon changes to db.thing, instead of a 
computed field in db.person, you probably want to create _after_insert and 
_after_update callbacks for db.thing (see 
http://www.web2py.com/books/default/chapter/29/06/the-database-abstraction-layer#before-and-after-callbacks
).

Anthony

On Tuesday, January 14, 2014 12:48:59 AM UTC-5, Apple Mason wrote:
>
> In the online doc on computed field, the computed fields uses a field in 
> the current table, and not in another table.
>
> I modified the one-to-many example by adding a 'total_items' field on 
> person. If I want 'total_items' to be the sum of all items the person 
> currently has, and this field should be updated when an inserted/deleted 
> 'thing' for this person happens, what should computed be?
>
>
> >>> db.define_table('person',
>                     Field('name'),
>                     Field('total_items', 'integer', compute=#lamdba r: r.??), 
>  # what should go here?
>                     format='%(name)s')
> >>> db.define_table('thing',
>                     Field('name'),
>                     Field('owner_id', 'reference person'),
>                     format='%(name)s')
>
>

-- 
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/groups/opt_out.

Reply via email to