I'm new to Web2Py, so I am creating a (what I thought was a) simple app that tracks progress of a workout routine. I have a database (db.workouts) that has information such as Workout Name, Rating, Completed, etc. I have 2 fields(rating, completed) I would like to update via a form. I have tried a couple different methods, but can't seem to get anything to work correctly. The other fields are already entered in the table and should not be changed.
"Rating" should be updated by a set of radio buttons and "Completed" should be set to 0 when the form is submitted (0=complete, 1=current, 2=locked). I have created the form, but have done something wrong because, when it is submitted, a new record is created rather than updating the existing one. *Here is my code:* *Model:* db.define_table('workouts', Field('stage'), Field('w', type="integer"), Field('workout'), Field('complete', type="integer"), Field('d', type="integer"), Field('rating', requires=IS_IN_SET([1, 2, 3, 4 ]), widget=SQLFORM.widgets.radio.widget), auth.signature ) *Controller:* def workouts(): rows = db(db.workouts).select() r = db.workouts(request.args(0)) form = SQLFORM(db.workouts, r) if form.process().accepted: response.flash = 'form accepted' elif form.errors: response.flash = 'form has errors' return locals() *View:* ... {{=form.custom.begin}} {{=form.custom.widget.rating}} {{=form.custom.submit}} {{=form.custom.end}} ... As I mentioned earlier, I am new and I may be going about this completely the wrong way. So any help would be greatly appreciated. I can provide more information if needed. Thanks. -- 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.