On Wednesday, September 30, 2015 at 6:23:45 PM UTC-7, Anthony wrote: > > Yes, that's the way to do it if the calculations must be done in Python. > You can only use the direct update method if the database itself can do the > calculations (via a SQL expression). For example, here is what you can do > in PostgreSQL: > http://www.postgresql.org/docs/9.4/static/functions-math.html. > > Anthony > > Thanks. And that's a pretty good list to have at your backend's beck-and-call.
/dps > On Wednesday, September 30, 2015 at 8:36:48 PM UTC-4, Dave S wrote: >> >> >> >> On Tuesday, September 29, 2015 at 1:25:33 PM UTC-7, Anthony wrote: >>> >>> You can do it in one line - just let the database do the incrementing by >>> passing an expression in the .update() method: >>> >>> db(db.mytable).update(counter=db.mytable.counter + 1) >>> >>> Much more efficient because you don't have to load any records from the >>> db or do any processing in Python. >>> >>> >> >> For the fearsome case where some additional python logic was needed to >> compute the new value, would you use >> newcount = complex_calc(row.count, obtuse_parameters) >> row.update_record(count = newcount) >> >> or can lambda's be used in the db(...).update() call? >> >> /dps >> >> >> >> -- 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 [email protected]. For more options, visit https://groups.google.com/d/optout.

