Thanks, that worked. Unfortunetely, the problem is a little more
complicated now. In my example I want to sum over virtual fields
(which is the problem now after eleminating the endless recursion).
Now the simplest example would be like this:
db.define_table('item',
Field('unit_price','double'))
db.define_table('order_item',
Field('item',db.item),
Field('quantity','integer'))
class MyVirtualFields(object):
def quantity2(self):
return self.quantity*10
db.order_item.virtualfields.append(MyVirtualFields())
class MyVirtualFields2(object):
def item_count(self):
sum = db.order_item.quantity2.sum()
return db(db.order_item.item==self.item).select(sum).first()[sum]
db.item.virtualfields.append(MyVirtualFields2())
The result is: The virtual field item_count is somehow not computed
(it does not show up, while other virtual fields do, no error message)
On 18 Apr., 12:48, Vasile Ermicioi <[email protected]> wrote:
> http://www.wellho.net/mouth/912_Recursion-in-Python.html
>
> <http://www.wellho.net/mouth/912_Recursion-in-Python.html>perhaps this could
> be a better solution (not tested, I just give you an idea)
>
> class MyVirtualFields(object):
> def item_countself):
> sum = db.order_item.quantity.sum() return
> db(db.order_item.item==self.item).select(sum).first()[sum]