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
--