diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-02-02 12:58:24 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-02-02 12:58:24 -0500 |
| commit | 54088c9b33809dd6d76cacfc86f9012d4f61d361 (patch) | |
| tree | 964f53a3c34526f6fcb37fbf26fb3adab3933bae | |
| parent | b2189da65019ed2f44e77933a122619489319c5a (diff) | |
| download | sqlalchemy-54088c9b33809dd6d76cacfc86f9012d4f61d361.tar.gz | |
- don't overwrite an existing _strategy_keys collection;
this would cause LazyLoader to be initialized twice per property.
| -rw-r--r-- | lib/sqlalchemy/orm/interfaces.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/sqlalchemy/orm/interfaces.py b/lib/sqlalchemy/orm/interfaces.py index 299ccaaaf..b3b8d612d 100644 --- a/lib/sqlalchemy/orm/interfaces.py +++ b/lib/sqlalchemy/orm/interfaces.py @@ -522,7 +522,8 @@ class StrategizedProperty(MapperProperty): @classmethod def strategy_for(cls, **kw): def decorate(dec_cls): - dec_cls._strategy_keys = [] + if not hasattr(dec_cls, '_strategy_keys'): + dec_cls._strategy_keys = [] key = tuple(sorted(kw.items())) cls._all_strategies[cls][key] = dec_cls dec_cls._strategy_keys.append(key) |
