I am trying to use lazy virtual fields and cannot seem to get it to work. The non-lazy virtual fields work OK.
Also, can someone clear up the desirability of using lazy virtual fields. I saw a post where Massimo suggested there was no reason to make them lazy despite my understanding that laziness optimizes database access and/or performance. This code: class ItemVirtualFields(object): def currency_symbol(self): def lazy(currency=self.item.currency): if currency in ['USD', 'AUD', 'CAD']: return '$' elif currency=='GBP': return '£' elif currency=='EUR': return '€' else: return '' return lazy db.item.virtualfields.append(ItemVirtualFields()) {{=item.currency_symbol}} Produces this output: <function lazy at 0x17403ab0>0.02