Nope. >>> link = URL('list_records', args='db') >>> link '/test/default/list_records/db'
The link for id = 1 will be e.g.: http://127.0.0.1:8000/test/test/list_records/db/dog?query=db.dog.owner%3D%3D1 where the query part looks better but it still fails: Traceback (most recent call last): File "C:\w2p\web2py_1.97.1_src\gluon\restricted.py", line 192, in restricted exec ccode in environment File "C:/w2p/web2py_1.97.1_src/applications/test/controllers/ test.py", line 89, in <module> File "C:\w2p\web2py_1.97.1_src\gluon\globals.py", line 137, in <lambda> self._caller = lambda f: f() File "C:/w2p/web2py_1.97.1_src/applications/test/controllers/ test.py", line 34, in list_records rr = db(db.dog.id == dogid).select() File "C:\w2p\web2py_1.97.1_src\gluon\dal.py", line 5394, in select return self.db._adapter.select(self.query,fields,attributes) File "C:\w2p\web2py_1.97.1_src\gluon\dal.py", line 1168, in select sql = self._select(query,fields,attributes) File "C:\w2p\web2py_1.97.1_src\gluon\dal.py", line 1078, in _select sql_w = ' WHERE ' + self.expand(query) File "C:\w2p\web2py_1.97.1_src\gluon\dal.py", line 937, in expand return expression.op(expression.first, expression.second) File "C:\w2p\web2py_1.97.1_src\gluon\dal.py", line 886, in EQ return '(%s = %s)' % (self.expand(first),self.expand(second,first.type)) File "C:\w2p\web2py_1.97.1_src\gluon\dal.py", line 943, in expand return self.represent(expression,field_type) File "C:\w2p\web2py_1.97.1_src\gluon\dal.py", line 1280, in represent return str(int(obj)) ValueError: invalid literal for int() with base 10: 'db' On Jul 25, 10:09 am, Anthony <abasta...@gmail.com> wrote: > I updated the book -- added args='db' to the URL() call. Does that make it > work? > > Anthony > > > > > > > > On Monday, July 25, 2011 2:28:26 AM UTC-4, jc wrote: > > Maybe the fix is just remove it from the manual, since the > > instructions in the manual don't work. > > > On Jul 24, 9:40 am, Massimo Di Pierro <massimo....@gmail.com> > > wrote: > > > P.S. I would not suggest using this for anything else by appadmin. > > > > On Jul 24, 3:39 am, Massimo Di Pierro <massimo....@gmail.com> > > > wrote: > > > > > The fact is that is how it works but the manual may be incorrect. > > > > > linkto is used for appadmin and appadmin wants to know which od is > > > > involved in the query,for example > > > > > db.table.field==1 > > > > > so linkto has to be of the form URL('action',args='db') > > > > > It has been so for two years. It cannot be changed without breaking > > > > appadmin. > > > > > Massimo > > > > > On Jul 22, 11:05 am, DenesL <dene...@yahoo.ca> wrote: > > > > > > Yes, I can reproduce it running web2py 1.97.1 from source on Windows. > > > > > > >>> link=URL('list_records') > > > > > >>> print link > > > > > > /test/default/list_records>>> form = SQLFORM(db.person,1,linkto=link) > > > > > > >>> print form.element('#dog__owner__row') > > > > > > <tr id="dog__owner__row"><td class="w2p_fl"></td><td > > class="w2p_fw"><a > > > > > class="reference" href="/test/default/list_records/dog? > > > > > query=list_records.dog.owner%3D%3D1">dog.owner</a></td><td > > > > > class="w2p_fc"></td></tr> > > > > > > sqlhtml.py line 845 does not seem right on getting db: > > > > > db = linkto.split('/')[-1] > > > > > > but is seems strange that nobody has complained about it before since > > > > > > that has been in place for a few releases back. > > > > > > Denes. > > > > > > On Jul 21, 1:18 pm, Massimo Di Pierro <massimo....@gmail.com> > > > > > wrote: > > > > > > > I cannot reproduce this. Can anybody else? > > > > > > > On Jul 18, 8:13 pm, tcab <abu...@gmail.com> wrote: > > > > > > > > Ok - added issue ashttp:// > > code.google.com/p/web2py/issues/detail?id=340 > > > > > > > > On Jul 15, 9:45 am, Anthony <abas...@gmail.com> wrote: > > > > > > > > > Please submit an issue on Google Code: > >http://code.google.com/p/web2py/issues/list > > > > > > > > > On Friday, July 15, 2011 1:33:22 AM UTC-4, tcab wrote: > > > > > > > > > I get this too - a spurious "list_records." prepended to the > > query. > > > > > > > > > Latest web2py 1.97.1 > > > > > > > > > > -Andy > > > > > > > > > > On Jul 12, 10:08 pm, jc <j-c...@lineone.net> wrote: > > > > > > > > > > Hi, > > > > > > > > > > Trying to uselinkto, so following example in web2py book< > > >http://www.web2py.com/book/default/chapter/07#Links-to-Referencing-Re...> > > > > > > > > > first, > > > > > > > > > > to try to understand. > > > > > > > > > > > I have copied the example with person and dog tables, in > > particular in > > > > > > > > > def > > > > > > > > > > display_form(): I have > > > > > > > > > > > link = URL('list_records') > > > > > > > > > > form = SQLFORM(db.person, record, deletable=True, > > > > > > > > > > upload=url,linkto=link, labels = > > {'dog.owner':"This > > > > > > > > > > person's dogs"}) > > > > > > > > > > > as described in the book. > > > > > > > > > > > The books says the link generated will be > > > > > > > > > > "/test/default/list_records/dog?query=dog.owner%3D5" but in > > fact the link > > > > > > > > > > > which appears when I visit /test/default/display_form/1 is > > > "/test/default/list_records/dog?query=list_records.dog.owner%3D%3D1", > > > > > > > > > i.e. > > > > > > > > > > there is a spurious list.records and a spurious %3D. Not > > surprisingly the > > > > > > > > > > > link doesn't work. Can anybody tell me what I am doing > > wrong? > > > > > > > > > > > Thanks.