Thank you. I posted as issue #482.
Yes, fields=[db.special.id,db.special.name] works !

def update():
    grid =
SQLFORM.grid(db.special.restaurant_id==request.args(0),fields=[db.special.id,db.special.name],dele
table=False,
paginate=10,details=False,csv=False,searchable=False)
    return dict(grid=grid)

On Oct 21, 9:33 am, Massimo Di Pierro <massimo.dipie...@gmail.com>
wrote:
> ...grid(....fields=['name']...)
>
> should be
>
> ...grid(....fields=[db.special.name]...)
>
> which web2py version? I though we support both syntaxes. Please open a
> ticket.
>
> On Oct 21, 9:19 am, Omi Chiba <ochib...@gmail.com> wrote:
>
>
>
>
>
>
>
> > I have a following entry in controller and this works fine to list all
> > the fields in a table.
> > When I specify fields=['name'], then I got an error. What did I do
> > wrong ?
>
> > Here's my table:
> > ---------------------------------
> > db.define_table('special',
> >     Field('restaurant_id', db.restaurant),
> >     Field('name'),
> >     Field('price','double'),
> >     Field('image','upload'),
> >     format='%(name)s')
>
> > Controller (This works)
> > -------------------------------
> > def update():
> >     grid = SQLFORM.grid(db.special.restaurant_id==request.args(0),
> > deletable=False,paginate=10,details=False,csv=False,searchable=False)
> >     return dict(grid=grid)
>
> > Controller(This doesn't)
> > --------------------------------
> > def update():
> >     grid =
> > SQLFORM.grid(db.special.restaurant_id==request.args(0),fields=['name'],dele 
> > table=False,
> > paginate=10,details=False,csv=False,searchable=False)
> >     return dict(grid=grid)
>
> > Error:
> > -------------------------------
> > Traceback (most recent call last):
> >   File "C:\web2py\gluon\restricted.py", line 194, in restricted
> >     exec ccode in environment
> >   File "C:/web2py/applications/Kyono_Lunch/controllers/default.py",
> > line 88, in <module>
> >   File "C:\web2py\gluon\globals.py", line 149, in <lambda>
> >     self._caller = lambda f: f()
> >   File "C:\web2py\gluon\tools.py", line 2456, in f
> >     return action(*a, **b)
> >   File "C:/web2py/applications/Kyono_Lunch/controllers/default.py",
> > line 23, in update
> >     grid =
> > SQLFORM.grid(db.special.restaurant_id==request.args(0),deletable=False,
> > paginate=10,details=False,csv=False,searchable=False,fields=['id'])
> >   File "C:\web2py\gluon\sqlhtml.py", line 1588, in grid
> >     if not field.readable: continue
> > AttributeError: 'str' object has no attribute 'readable'

Reply via email to