Model methods should accept decorators
Model methods don't accept decorators, and they should. Here's a snippet from imaurer on the django-developers mailing list:
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.
Change History
(2)
Resolution: |
→ fixed
|
Status: |
assigned → closed
|
This is fixed in magic-removal.