You can try update_or_insert()<http://web2py.com/books/default/chapter/29/06#update_or_insert> .
Anthony On Friday, December 7, 2012 5:54:58 PM UTC-5, Daniele wrote: > > I am unable to update entries in my database. I think I have an idea of > why this may be, but I'm not sure how to go about fixing this. > > In my controller, I have: > > tform = SQLFORM.factory( > Field('is_tutor', 'boolean'), > *[f for f in db.tutor if f.name.startswith('t_')], > table_name='tutor') > > if tform.process().accepted: > if tform.vars.is_tutor: > if not auth.has_membership('Tutors'): > auth.add_membership('Tutors') > db(db.tutor.user == auth.user_id).update( > t_Hourly_Rate = tform.vars.t_Hourly_Rate, > t_Image = tform.vars.t_Image, > t_Qualifications = tform.vars.t_Qualifications, > t_Subjects = tform.vars.t_Subjects, > t_Location = tform.vars.t_Location, > t_Biography = tform.vars.t_Biography > ) > else: > if auth.has_membership('Tutors'): > auth.del_membership('Tutors') > response.flash = T('Profile updated!') > elif tform.errors: > response.flash = T('There was an error with your submission') > > > However, when I submit the form I am just getting a bunch of 'None' values. I > think the problem may be that > I'm trying to update db(db.tutor.user == auth.user_id) but if db.tutor.user > does not exist, it is not being assigned > the value of the currently logged in user (auth.user_id) > How can I go about fixing this?? > Thanks > > > --