maybe something like this would work : if idToEdit : record = db(db.langResource.id==idToEdit) sqlForm = SQLFORM(db.langResource, record) # update existing else : sqlForm = SQLFORM(db.langResource) # create new if sqlForm.process().accepted: response.flash = 'New resource added.' elif sqlForm.process().accepted: response.flash = 'Resource modified.' elif sqlForm.errors: response.flash = 'Form has errors.' else: response.flash = 'Please fill out the form.' return sqlForm
On Thu, Apr 17, 2014 at 9:11 PM, Sharon Correll <sharon_corr...@sil.org>wrote: > I am a web2py newbie, and I'm sure this is a very basic question, but I > haven't found a post that addresses it exactly. > > I am trying to create a form that modifies an existing record. My code, > which is modeled after stuff I saw in the tutorial, looks like: > > if idToEdit : > record = db.langResource(idToEdit) > sqlForm = SQLFORM(db.langResource, record) # update existing > else : > sqlForm = SQLFORM(db.langResource) # create new > > if sqlForm.process(session=None, > formname="langResource/create").accepted: > response.flash = 'New resource added.' > elif sqlForm.process(session=None, > formname="langResource/modify").accepted: > response.flash = 'Resource modified.' > elif sqlForm.errors: > response.flash = 'Form has errors.' > else: > response.flash = 'Please fill out the form.' > return sqlForm > > When idToEdit is set to something, the resulting form is nicely populated > with the values of the existing record. However, when I press Submit, a new > record is added with the changes, and with a new unique ID. The old record > is still there. > > I had originally tried to create the HTML by hand, so I could customize > it, and had the same problem, so I thought my HTML was missing something. > But using the SQLFORM directly does the same thing. > > I did see this bit in the HTML: <input name="id" type="hidden" value="5" > /> - and wondered if that is the magic bit that makes it know that it is > supposed to update an existing record. But if so it doesn't seem to be > working. > > -- > Resources: > - http://web2py.com > - http://web2py.com/book (Documentation) > - http://github.com/web2py/web2py (Source code) > - https://code.google.com/p/web2py/issues/list (Report Issues) > --- > You received this message because you are subscribed to the Google Groups > "web2py-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to web2py+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.