Ok, I will take that into account. In any case, I have tried calling the function with actual values that are the DB as following : onrp_id = get_onrp(1000, 'Lausanne', 12) just to ensure the function works, but without success.
On Saturday, January 11, 2014 10:56:56 AM UTC+1, zee wrote: > > Hi, > > First post here, so thanks in advance for any help provided. > > I have a sub-routine in my main function of a a controller that looks like > this : > > if form.vars.npc: > pass > else: > form.vars.npc = 0 > onrp_row = db( > (db.npa.npa==form.vars.npa) & > (db.npa.loc_name_short==form.vars.lns) & > (db.npa.npa_complement==form.vars.npc) > ).select(db.npa.id) > onrp_id=onrp_row[0].id > > Essentially, I use this to update a record I just inserted in the db with > a foreign primary key from an external data source. I need to keep this > reference for data consistency purposes in case the external source is > modified. > > This sub-routine behaves as expected. > > My problem is that I am trying to make a helper function out of this > sub-routine. I have extracted it from the index() function and my > controller now looks like this : > > def get_onrp(npa, lns, npc=0): > > id=db((db.npa.npa==npa)&(db.npa.loc_name_short==lns)&(db.npa.npa_complement==npc)).select( > db.npa.id) > if id: > return id[0].id > else: > return 0 > > def index(): > # SQLFORM.factory here > > onrp_id = get_onrp(form.vars.npa, form.vars.lns, form.vars.npc) > > # rest of controller logic here > > Now, the get_onrp function systematically returns 0, i.e. the db query > returns no rows. > > I have played around in the web2py interactive shell and defining the > function works as expected as well. > > Any suggestions ? > > > -- 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/groups/opt_out.