Have you tried it with the latest trunk?
On Saturday, January 28, 2012 10:27:45 PM UTC-5, DenesL wrote: > > As reported in the Spanish group, the example under section 7.2.6 > Links to Referencing Records, calling the list_records action with a > query var, e.g.: > > http://127.0.0.1:8000/test/test/list_records/person?query=person.id>0 > > > Traceback (most recent call last): > File "C:\w2p\web2py_1.99.4_src\gluon\restricted.py", line 204, in > restricted > exec ccode in environment > File "C:/w2p/web2py_1.99.4_src/applications/test/controllers/ > test.py", line 34, in <module> > File "C:\w2p\web2py_1.99.4_src\gluon\globals.py", line 172, in > <lambda> > self._caller = lambda f: f() > File "C:/w2p/web2py_1.99.4_src/applications/test/controllers/ > test.py", line 30, in list_records > records = db(query).select(db[table]) > File "C:\w2p\web2py_1.99.4_src\gluon\dal.py", line 6333, in select > return self.db._adapter.select(self.query,fields,attributes) > File "C:\w2p\web2py_1.99.4_src\gluon\dal.py", line 1274, in select > sql = self._select(query, fields, attributes) > File "C:\w2p\web2py_1.99.4_src\gluon\dal.py", line 1672, in _select > sql = super(SQLiteAdapter, self)._select(query, fields, > attributes) > File "C:\w2p\web2py_1.99.4_src\gluon\dal.py", line 1155, in _select > if query and not query.ignore_common_filters: > AttributeError: 'str' object has no attribute 'ignore_common_filters' > > The code to reproduce is (excerpts from the book): > > Model > > db.define_table('person', > Field('name','string'), > Field('surname','string'), > Field('image_filename'), > Field('image', 'upload')) > > db.define_table('dog', > Field('owner', db.person), > Field('name', requires=IS_NOT_EMPTY())) > > Controller > > def display_form(): > record = db.person(request.args(0)) > url = URL('download') > link = URL('list_records') > form = SQLFORM(db.person, record, deletable=True, upload=url, > linkto=link) > if form.process().accepted: > response.flash = 'form accepted' > elif form.errors: > response.flash = 'form has errors' > return dict(form=form) > > def download(): > return response.download(request, db) > > def list_records(): > table = request.args(0) > query = request.vars.query > records = db(query).select(db[table]) > return dict(records=records,table=table,query=query) > > Views > > display_form.html > > {{extend 'layout.html'}} > <h5>Display Form</h5> > {{=form}} > > list_records.html > > {{extend 'layout.html'}} > Tabla: {{=table}}</br> > Query: {{=query}}</br> > {{=records}} > > Obviously this happens because the query is not a Query object but > then the example in the book is wrong. > >

