I created the table initially without the virtual field 'amount' and added
it lately.
When I use a string or number in the lambda like: lambda row: 'test', it
works fine.
However, when I use lambda row: row.id it gave the error below. It's really
like push here and feel the pain 2km away.
Someone get some idea? Thanks!
my db:
db.define_table('inoutexp',
auth.signature,
Field('qty', 'integer', requires=IS_NOT_EMPTY()),
Field.Virtual('amount', lambda row: row.qty, label=T('Amount'))
)
simply a grid:
grid = SQLFORM.grid(db.inoutexp)
The error:
Function argument list
(self=<Row { 'qty': 5, '...ime.datetime(2016, 8, 3, 14, 9, 46)}>,
k='inoutexp.amount')
Code listing
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
self[key] = e(key)
return self[key]
except Exception as e:
raise e
raise KeyError
__str__ = __repr__ = lambda self: '<Row %s>' %
self.as_dict(custom_types=[LazySet])
__int__ = lambda self: self.get('id')
--
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/d/optout.