I think it should be

db.define_table('item',
  Field('unit_price','double'),
  Field('quantity','integer'),
  Field.Virtual('total_price', lambda row: 
row.time.unit_price*row.time.quantity)
)

On Tuesday, 1 January 2013 13:51:11 UTC-6, DenesL wrote:
>
> Model:
>
> db.define_table('item',
>   Field('unit_price','double'),
>   Field('quantity','integer'),
>   Field.Virtual('total_price', lambda row: row.unit_price*row.quantity)
> )
>
> just trying to access item table via appadmin gives:
>
>     Traceback (most recent call last):
>   File "C:\w2p\web2py_2.3.2_src\applications\test\controllers/appadmin.py", 
> line 227, in select
>     limitby=(start, stop))
>   File "C:\w2p\web2py_2.3.2_src\gluon\dal.py", line 8905, in select
>     return adapter.select(self.query,fields,attributes)
>   File "C:\w2p\web2py_2.3.2_src\gluon\dal.py", line 2146, in select
>     return super(SQLiteAdapter, self).select(query, fields, attributes)
>   File "C:\w2p\web2py_2.3.2_src\gluon\dal.py", line 1631, in select
>     return self._select_aux(sql,fields,attributes)
>   File "C:\w2p\web2py_2.3.2_src\gluon\dal.py", line 1612, in _select_aux
>     return processor(rows,fields,self._colnames,cacheable=cacheable)
>   File "C:\w2p\web2py_2.3.2_src\gluon\dal.py", line 2010, in parse
>     box[f] = v.f(row)
>   File "C:\w2p\web2py_2.3.2_src\applications\test\models\item.py", line 4, in 
> <lambda>
>     Field.Virtual('total_price', lambda row: row.unit_price*row.quantity)
> AttributeError: 'Row' object has no attribute 'unit_price'
>
>
> Using sqlite. This happens even after deleting all databases.
>
> Denes
>
>

-- 



Reply via email to