id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 26287,SimpleLazyObject doesn't implement __radd__,Keryn Knight,Theofilos Alexiou,"Technically, there's a whole bunch of magic methods it doesn't implement, compared to a ''complete'' proxy implementation, like that of `wrapt.ObjectProxy`, but `__radd__` being missing is the one that's biting me at the moment. As far as I can tell, the implementation can't just be {{{ __radd__ = new_method_proxy(operator.radd) }}} because that doesn't exist, which is rubbish. {{{ __radd__ = new_method_proxy(operator.attrgetter(""__radd__"")) }}} also won't work because types may not have that attr, and attrgetter doesn't supress the exception (correctly) The minimal implementation I've found that works for me is: {{{ def __radd__(self, other): if self._wrapped is empty: self._setup() return other + self._wrapped }}}",New feature,closed,Utilities,dev,Normal,fixed,,django@… debanshuk2007@…,Ready for checkin,1,0,0,0,0,0