Fantastic! And since we are on the topic, can we clarify also the use of dictionaries for the callbacks in the case of smartgrid? Which options can take a dict of functions, and which not? E.g. it seems ondelete can't take a dictionary, while editable can:
grid=SQLFORM.smartgrid(db.person,linked_tables=['dog'], editable=dict(person=person_edit, dog=dog_edit), ) --

