Say, that works! Thanks.
On Monday, 20 January 2014 13:13:24 UTC-5, Anthony wrote: > > Instead of listing the fields to include in the grid, try setting the > "readable" attributes of fields you *don't* want to display to False. In > that case, I think all the fields will get included in the query (not > totally sure, though). > > Anthony > > On Monday, January 20, 2014 10:23:40 AM UTC-5, horridohobbyist wrote: >> >> "Ah, I see," said the blind man as he picked up his hammer and saw! >> >> I was trying to use 'sale' and also NOT to display it in the grid. I >> don't suppose there's a workaround. >> >> Thanks. >> >> On Monday, 20 January 2014 09:09:30 UTC-5, Massimo Di Pierro wrote: >>> >>> Here: >>> >>> SQLFORM.grid(db.products,fields=[db.products.name >>> ,db.products.category,db.products.description,db.products.price], >>> >>> You are asking the grid to select "price" but not "sale", yet the >>> representation of "price" requires the field "sale" which is not retrieved >>> from the database. >>> You need to select "sale" as well. >>> >>> On Monday, 20 January 2014 06:43:38 UTC-6, horridohobbyist wrote: >>>> >>>> In db.py, I have: >>>> >>>> db.define_table('products', >>>> Field('name',length=64,unique=True), >>>> Field('category',length=64), >>>> Field('description','text',represent=lambda v, r: >>>> XML(v)), >>>> Field('price','decimal(6,2)',represent=lambda v, r: >>>> '$'+str(v) if r.sale == 'regular' else B('$'+str(v))), >>>> Field('sale')) >>>> >>>> In index.html, I have: >>>> >>>> {{=SQLFORM.grid(db.products,fields=[db.products.name >>>> ,db.products.category,db.products.description,db.products.price], >>>> maxtextlength=1000, >>>> csv=False) >>>> }} >>>> >>>> The traceback says: >>>> >>>> Traceback (most recent call last): >>>> File "/home/www-data/web2py/gluon/restricted.py", line 212, in restricted >>>> exec ccode in environment >>>> File >>>> "/home/www-data/web2py/applications/HorridoHobbies/views/default/index.html", >>>> line 85, in <module> >>>> File "/home/www-data/web2py/gluon/sqlhtml.py", line 2291, in grid >>>> value = field.represent(value, row) >>>> File "/home/www-data/web2py/applications/HorridoHobbies/models/db.py" >>>> <https://67.213.70.251/admin/default/edit/HorridoHobbies/models/db.py>, >>>> line 94, in <lambda> >>>> Field('price','decimal(6,2)',represent=lambda v, r: '$'+str(v) if >>>> r.sale == 'regular' else B('$'+str(v))), >>>> AttributeError: 'Row' object has no attribute 'sale' >>>> >>>> >>>> Thanks. >>>> >>>> >>>> On Monday, 20 January 2014 00:50:39 UTC-5, Massimo Di Pierro wrote: >>>>> >>>>> When do you get that error? It does not originate in the model. Can >>>>> you show is the controller that you call when you get the error? >>>>> >>>>> On Sunday, 19 January 2014 21:51:42 UTC-6, horridohobbyist wrote: >>>>>> >>>>>> I have a database definition: >>>>>> >>>>>> db.define_table('products', >>>>>> Field('price','decimal(6,2)',represent=lambda v, r: 1 >>>>>> if r.sale == 'regular' else 2), >>>>>> Field('sale')) >>>>>> >>>>>> I get an error saying that the 'Row' object has no 'sale' attribute. >>>>>> I'm puzzled. Of course, it has a 'sale' attribute; it's right there in >>>>>> the >>>>>> definition! What gives?? >>>>>> >>>>>> -- 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.