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]

Reply via email to