Fix batch_fetch

This commit is contained in:
Konsta Vesterinen
2014-03-05 12:43:34 +02:00
parent 5565d8b8b3
commit 10002232d1
2 changed files with 6 additions and 6 deletions

View File

@@ -14,8 +14,6 @@ from sqlalchemy_utils.functions.orm import (
list_local_values,
list_local_remote_exprs,
local_values,
local_column_names,
local_remote_expr,
remote_column_names,
remote_values,
remote
@@ -339,9 +337,10 @@ class GenericRelationshipFetcher(object):
id_dict = defaultdict(list)
for entity in self.path.entities:
discriminator = getattr(entity, self.prop._discriminator_col.key)
id_dict[discriminator].append(
getattr(entity, self.prop._id_col.key)
)
for id_col in self.prop._id_cols:
id_dict[discriminator].append(
getattr(entity, id_col.key)
)
return chain(*self._queries(sa.inspect(entity), id_dict))
def _queries(self, state, id_dict):

View File

@@ -77,7 +77,8 @@ def remote(prop):
def local_column_names(prop):
if not hasattr(prop, 'secondary'):
yield prop._discriminator_col.key
yield prop._id_col.key
for id_col in prop._id_cols:
yield id_col.key
elif prop.secondary is None:
for local, _ in prop.local_remote_pairs:
yield local.name