> Unless, somewhere up your stack, you have a dict as default context
> argument and you put your Browse object in *that*.
> In that case, yes the Browse object will stay around forever.
That's just what I meant, if we pass a list (for example a list of ids to filter data), or a tuple or a browseobject (anything big), in the context of one of those methods (with context={}), then it can't be garbage collected.
And I think I just made that mistake (passing some big fellows on the context, instead of creating a new parameter, so we didn't break the API [think about overriding 'write' on some openobject]) :)
Thanks for the info Xavier :)
> Unless, somewhere up your stack, you have a dict as default context
> argument and you put your Browse object in *that*.
> In that case, yes the Browse object will stay around forever.
That's just what I meant, if we pass a list (for example a list of ids to filter data), or a tuple or a browseobject (anything big), in the context of one of those methods (with context={}), then it can't be garbage collected.
And I think I just made that mistake (passing some big fellows on the context, instead of creating a new parameter, so we didn't break the API [think about overriding 'write' on some openobject]) :)