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