Also, your sale field has not type, it may possible that the migration has
not yet occur because of the incomplet model...

Richard


On Mon, Jan 20, 2014 at 9:09 AM, Massimo Di Pierro <
[email protected]> 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 [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
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 [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to