Hi there, I bought the web2py .pdf, and have been reading it, but I'm struggling a little bit with:
http://www.web2py.com/book/default/chapter/07#SQLFORM Specifically the section "SQLFORM without database IO" I have 2 fields, lon & lat I'd like to calculated from a postcode and enter into the database. I want this to happen automatically, I don't want the user to see them in the form. As you can see below, I've done this by setting dbio=False, computing the fields from the postcode value then adding them to the forms.var dict before submitting it all together. Is this a rational way to accomplish my requirements? Thanks in advance! Chris def adddata(): form=SQLFORM(db.data, fields=['provider', 'speed', 'postcode', 'ping']) if form.accepts(request.vars, session, dbio=False): #<-- dbio false means it doesn't submit till we ask it to geocoded=__geocode(form.vars.postcode) #<-- so compute the other fields #add some computed values to the form.vars dictionary for submission form.vars['lon']=geocoded['lon'] form.vars['lat']=geocoded['lat'] #and insert the data into the database db.data.insert(**dict(form.vars)) #response.flash puts the flash in this page, session.flash in the next page of the session session.flash = 'form accepted' redirect(URL(r=request, f='index')) elif form.errors: response.flash = 'form has errors' return dict(form=form)