I was misunderstood (my mistake - it's getting late here in Greece). I didn't want to say about the list but about taking an argument. > after_update should be a list of functions, that take one argument, the row.
Now that I am thinking about it, I think that these functions must have access to table data. For example, creating permalinks after a title field has been updated, means that a create_permalink function must have access to the db.table.title and to the db.table.permalink. The thing is that I am making changes inside the update function (in sql.py) - after the self._db._execute(query) but I don't believe I have access to table's data. Am I doing something wrong here? Should I patch somewhere else (first time reading the sql.py)? On Nov 3, 11:48 pm, Thadeus Burgess <[email protected]> wrote: > A list is a list, doesn't matter if your setting it to a new list or using > the list.append() afterwords, it will work the same. > > db.table.field.after_update = [] > > db.table.field.after_update = [lambda row: print row] > > db.table.field.after_update.append(lambda row: del row) > > -Thadeus > > On Tue, Nov 3, 2009 at 3:37 PM, Jon Romero <[email protected]> wrote: > > > ok, I hacked an after_update attribute in sql.py but I am doing this: > > > db.table.field.after_update = a_list_with_functions > > > I think it feels more natural. What do you guys think? > > > On Nov 3, 10:58 pm, Thadeus Burgess <[email protected]> wrote: > > > after_update should be a list of functions, that take one argument, the > > row. > > > > db.table.field.after_update.append(lambda row: print row) > > > > -Thadeus > > > > On Tue, Nov 3, 2009 at 2:56 PM, Jon Romero <[email protected]> wrote: > > > > > Is it possible to do something like that in the db declarations or I > > > > have to put code inside the controller? > > > > For example in Rails you specify functions that will run before or > > > > after an insert/update/delete/select inside the declaration of model. > > > > That makes the code very easy to read/reuse. > > > > > I think that it is easy to do this in web2py if you put something like > > > > that: > > > > db.table_name.table_field.after_update = function_do_something > > > > > Any ideas? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---

