On 9/16/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > The one thing I don't like is that I cannot add decorators like > classmethod. For instance, this method: > > @classmethod > def clsmethod(cls): > print "HERE in", cls > > Blows up like this for me: > > File "C:\www\django\core\meta\__init__.py", line 490, in __new__ > assert callable(v), "%r is an invalid model parameter." % k > AssertionError: 'clsmethod' is an invalid model parameter. > > I am also not able to create a 'memoize' decorator for caching method > results in an instance. Instead, I either have to do the "if > _cache_blah: return _cache_blah" pattern in each method I want > cacheable or call out to a non-model function that can be memoized but > using a global LRU dictionary.
I would certainly call this a bug. Model methods should be able to have decorators. I've filed a ticket at http://code.djangoproject.com/ticket/522 and will try to work on the fix this weekend. Adrian -- Adrian Holovaty holovaty.com | djangoproject.com | chicagocrime.org