summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/ext/baked.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/ext/baked.py')
-rw-r--r--lib/sqlalchemy/ext/baked.py19
1 files changed, 10 insertions, 9 deletions
diff --git a/lib/sqlalchemy/ext/baked.py b/lib/sqlalchemy/ext/baked.py
index 86eee831b..f4d71f410 100644
--- a/lib/sqlalchemy/ext/baked.py
+++ b/lib/sqlalchemy/ext/baked.py
@@ -446,12 +446,10 @@ class Result(object):
"""
query = self.bq.steps[0](self.session)
- return query._get_impl(ident, self._load_on_ident)
+ return query._get_impl(ident, self._load_on_pk_identity)
- def _load_on_ident(self, query, key):
- """Load the given identity key from the database."""
-
- ident = key[1]
+ def _load_on_pk_identity(self, query, primary_key_identity):
+ """Load the given primary key identity from the database."""
mapper = query._mapper_zero()
@@ -465,10 +463,11 @@ class Result(object):
# None present in ident - turn those comparisons
# into "IS NULL"
- if None in ident:
+ if None in primary_key_identity:
nones = set([
_get_params[col].key for col, value in
- zip(mapper.primary_key, ident) if value is None
+ zip(mapper.primary_key, primary_key_identity)
+ if value is None
])
_lcl_get_clause = sql_util.adapt_criterion_to_null(
_lcl_get_clause, nones)
@@ -490,11 +489,13 @@ class Result(object):
bq = bq._clone()
bq._cache_key += (_get_clause, )
- bq = bq.with_criteria(setup, tuple(elem is None for elem in ident))
+ bq = bq.with_criteria(
+ setup, tuple(elem is None for elem in primary_key_identity))
params = dict([
(_get_params[primary_key].key, id_val)
- for id_val, primary_key in zip(ident, mapper.primary_key)
+ for id_val, primary_key
+ in zip(primary_key_identity, mapper.primary_key)
])
result = list(bq.for_session(self.session).params(**params))