I should mention that I don't really use CRUD. So I've assumed the above scenario is the same as using CRUD / sqlform.smartgrid.
Also, you may want to look into Virtual Fields if you don't need to actually store the data. These are computed upon retrieval of records, not insertion / updates. (But be warned, they have other stipulations, so may not fit your requirements) Finally. I don't know how to request a book submission, but I am wondering if a statement could be added to: http://web2py.com/book/default/chapter/06#Computed-Fields (first paragraph, second sentence) "When a new record is modified, including both insertions and updates, if a value for the field is not provided, web2py tries to compute from the other field values using the compute function." identifying that the 'other field' values are those submitted to the 'update' / 'insert. (perhaps just add "submitted" so we have: "When a new record is modified, including both insertions and updates, if a value for the field is not provided, web2py tries to compute from the other *submitted* field values using the compute function."

