diff options
Diffstat (limited to 'lib/sqlalchemy/util/langhelpers.py')
| -rw-r--r-- | lib/sqlalchemy/util/langhelpers.py | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/sqlalchemy/util/langhelpers.py b/lib/sqlalchemy/util/langhelpers.py index bd670f2cc..f6fefc244 100644 --- a/lib/sqlalchemy/util/langhelpers.py +++ b/lib/sqlalchemy/util/langhelpers.py @@ -930,6 +930,8 @@ class HasMemoized(object): """ + __slots__ = () + _memoized_keys = frozenset() def _reset_memoizations(self): @@ -1273,13 +1275,18 @@ class hybridmethod(object): def __init__(self, func): self.func = func + self.clslevel = func def __get__(self, instance, owner): if instance is None: - return self.func.__get__(owner, owner.__class__) + return self.clslevel.__get__(owner, owner.__class__) else: return self.func.__get__(instance, owner) + def classlevel(self, func): + self.clslevel = func + return self + class _symbol(int): def __new__(self, name, doc=None, canonical=None): |
