i haven't been using CRUD directly, and i added this to my form display logic to show computed fields as read-only, and update them on submit:
#make compute fields read-only in the forms for f in db[request.args[0]]: if f.compute: f.writable=False #include all fields, including compute fields, in the forms fields = [f.name for f in db[request.args[0]] if (f.writable or f.readable)] form = SQLFORM(db[request.args[0]], fields=fields) cfh