NEVER DO db.table.update(....) that changes the definition of the
table not the records. To update records you need to follow Yarko
suggestion:

db(.....).update(.....)

Massimo

On Nov 25, 2:56 am, "Yarko Tymciurak" <[EMAIL PROTECTED]> wrote:
> you can add this if / where you need:
>               id = row.id
>
> On Tue, Nov 25, 2008 at 2:53 AM, Yarko Tymciurak <[EMAIL PROTECTED]> wrote:
> > Here, Voltron - see if this makes more sense:
>
> > On Tue, Nov 25, 2008 at 12:01 AM, mdipierro <[EMAIL PROTECTED]>wrote:
>
> >>            id=db.users.update(
> >>                               email        = form.vars.email,
> >>                               password     = form.vars.password
> >>                               )
>
> >> should be
>
> > (I'll try to correct what Massimo suggested:)
>
> >             row = db(db.users.email == form.vars.email).select()
> >             row.update_record(
>
> >>                                email        = form.vars.new_email,
> >>                               password     = form.vars.password
> >>                               )
>
> > Of course, assuming new_email is wanted, and validated... you can work that
> > out :-)
>
> >> else you are updating the db.users dictionary thus redefining the
> >> meaning of field email and field password.
>
> >> Massimo
>
> > Above, Massimo makes an important point (I've been having a private
> > discussion w/ him about the way this is all named, currently wrapped in
> > classes, etc.).
>
> > Hope that helps.
>
> > Regards,
> > Yarko
>
> >> On Nov 24, 11:18 pm, voltron <[EMAIL PROTECTED]> wrote:
> >> > I am using:
>
> >> > Version 1.51 (2008-11-19 14:48:02)
> >> > Database drivers available: SQLite3, Postgre
>
> >> > The only code that could be of use is this snippet, the rest are
> >> > several lines of forms, strings, mail templates and such
>
> >> > user = db(db.users.id == session.user_id).select()
>
> >> > if form.accepts(request.vars,session,
> >> > formname="account_management_form") and
> >> > form.vars.password==form.vars.password2:
> >> >         key = md5.new(str(random.randint(0,9999))).hexdigest()
> >> >         try:
> >> >             id=db.users.update(
> >> >                                email        = form.vars.email,
> >> >                                password     = form.vars.password
> >> >                                )
>
> >> >         except Exception, detail:
> >> >             print 'Error:', detail
> >> >             response.flash = T("Update unsuccessful, please contact
> >> > our service team")
> >> >         else:
> >> >             db.commit()
> >> >             session.flash = user[0].user_name
> >> >             redirect(URL(r=request, f="manage_account"))
> >> >     elif form.vars.password != form.vars.password2:
> >> >         form.errors.password2 = T('Passwords do not match')
> >> >         response.flash = T("Update unsuccessful, please contact our
> >> > service team")
> >> >     elif form.errors:
> >> >         response.flash = T("Please check your values")
> >> >     else:
> >> >         pass
> >> >         #response.flash = T("Please fill in the registration form")
>
> >> >     return dict(form = form, page_title = page_title, page_content =
> >> > page_content)
>
> >> > Thanks
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to web2py@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to