Ok that seems to have done the trick. However, it's creating a new record 
every time which means that the logged in user does not refer to the tutor 
table. Does the id field have to be the same as auth.user_id? The id field 
seems to be generated automatically. In my tutor table I have a line that 
says Field('user', 'reference auth.user.id') but the relation does not seem 
like it's being made...

On Friday, December 7, 2012 11:28:06 PM UTC, Anthony wrote:
>
> 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
>>
>>
>>

-- 



Reply via email to