Hi Massimo, A typo in online book for update_or_insert() is spotted.
http://web2py.com/book/default/chapter/06#update_or_insert The example quoted from current book: db.person.update_or_insert(dict(name='John'), name='John',birthplace='Chicago') should be: db.person.update_or_insert(db.person.name=='John', name='John',birthplace='Chicago') Regards, Ray Luo