diff options
Diffstat (limited to 'lib/sqlalchemy/orm/persistence.py')
-rw-r--r-- | lib/sqlalchemy/orm/persistence.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/sqlalchemy/orm/persistence.py b/lib/sqlalchemy/orm/persistence.py index 996cc8802..56778cb05 100644 --- a/lib/sqlalchemy/orm/persistence.py +++ b/lib/sqlalchemy/orm/persistence.py @@ -922,8 +922,10 @@ class BulkEvaluate(BulkUD): def _do_pre_synchronize(self): query = self.query + target_cls = query._mapper_zero().class_ + try: - evaluator_compiler = evaluator.EvaluatorCompiler() + evaluator_compiler = evaluator.EvaluatorCompiler(target_cls) if query.whereclause is not None: eval_condition = evaluator_compiler.process( query.whereclause) @@ -938,7 +940,6 @@ class BulkEvaluate(BulkUD): "Could not evaluate current criteria in Python. " "Specify 'fetch' or False for the " "synchronize_session parameter.") - target_cls = query._mapper_zero().class_ #TODO: detect when the where clause is a trivial primary key match self.matched_objects = [ |