On Mon, Mar 15, 2010 at 1:54 PM, Kenneth Gonsalves <law...@au-kbc.org> wrote: > hi, > > here is a function I have written: > > def getaccbal(accnt,bal): > account = Account.objects.get(pk=accnt) > > if account.vouch: > bal = bal + getledgerob(account) > else: > children = account.account_set.all() > for child in children: > getaccbal(child.id,bal) > return bal > > if I try this with bal=0, on each recursion bal gets reset to 0 and I always > get a 0 as a result. (If I put bal=20, result is 20). Must be something very > simple that I am missing.
Look at the else block. you are calling getaccbal but not receiving the return value in any variable. Unless you receive the value in a variable or pass bal as a reference, bal will contain the old value. If you are using OOP then you should be calling geraccbal as self.bal . regards Vivek -- The hidden harmony is better than the obvious!! _______________________________________________ BangPypers mailing list BangPypers@python.org http://mail.python.org/mailman/listinfo/bangpypers