Hello Antony, Before submit the form, id -> 2 , for example.
After submit the form id -> ['2', '2'] maybe id is a reserved word for Web2py, when I did trace it on the debugger I saw that it change from a int number to a list, only in the process of submit a form, without a user interaction. Christian. 2012/8/22 Anthony <[email protected]> > It's really hard to say without seeing the code that generates the id. > Somehow your id is a list instead of a single value. > > Anthony > > On Wednesday, August 22, 2012 9:51:38 AM UTC-4, Christian Espinoza wrote: >> >> When I submit the form, on request.vars.id exist this value: ['2', '2'] >> >> this is the problem, but I dont know why, Im sending the var from the >> controller to it self with the 2 value only.. >> >> 'id' is a reserved function?? >> >> Christian. >> >> 2012/8/21 Anthony <[email protected]> >> >>> How is request.vars.id being set -- in the query string? What is its >>> value when the form is created, and what is the value when submitted? >>> >>> On Tuesday, August 21, 2012 7:16:18 PM UTC-4, Christian Espinoza wrote: >>>> >>>> Hi Anthony, I was try with .select().first(), but I get a error in the >>>> same way... >>>> >>>> The Error appears after I submit the form with the changes over the >>>> field, the form for a id user works, the problem is when I submit it. >>>> >>>> Thanks. >>>> Christian >>>> >>>> 2012/8/21 Anthony <[email protected]> >>>> >>>>> Also, note the .select().first() returns the first row or None if >>>>> there are no results, so you don't have to test whether there are any >>>>> records before selecting the first row. >>>>> >>>>> Anthony >>>>> >>>>> On Tuesday, August 21, 2012 6:58:47 PM UTC-4, rochacbruno wrote: >>>>>> >>>>>> You are getting an empty rows object >>>>>> >>>>>> >>>>>> def change_membership(): >>>>>> >>>>>> if request.vars.id: >>>>>> >>>>>> row = db(db.auth_membership.us******er_id == request.vars.id >>>>>> ).sele******ct() >>>>>> if not row: >>>>>> redirect(.........) >>>>>> id = row[0].id >>>>>> form = SQLFORM(db.auth_membership, >>>>>> id, >>>>>> fields=['group_id'], >>>>>> _action=URL() >>>>>> ) >>>>>> if form.process().accepted: >>>>>> ...redirect back to user list >>>>>> >>>>>> if form.errors: >>>>>> response.flash = 'form has errors' >>>>>> >>>>>> return dict(form=form) >>>>>> >>>>>> also can be done with >>>>>> >>>>>> row = db(db.auth_membership.u******ser_id == request.vars.id).sel*** >>>>>> ***ect() or redirect(.....) >>>>>> >>>>>> >>>>>> >>>>>> *Bruno Cezar Rocha** - @rochacbruno* >>>>>> [email protected] | Mobile: +55 (11) 99210-8821 >>>>>> www.CursoDePython.com.br | www.rochacbruno.com.br >>>>>> Blog: WEB APPS THAT WORTH A >>>>>> TRY<http://rochacbruno.com.br/web-apps-that-worth-a-try/> >>>>>> Get a signature like this. >>>>>> <http://r1.wisestamp.com/r/landing?promo=18&dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_18> >>>>>> Click >>>>>> here.<http://r1.wisestamp.com/r/landing?promo=18&dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_18> >>>>>> >>>>>> >>>>>> -- >>>>> >>>>> >>>>> >>>>> >>>> >>>> -- >>> >>> >>> >>> >> >> -- > > > > --

