summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2017-09-10 23:08:30 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2017-09-10 23:08:30 -0400
commit4c97ea116c3686cb03f566f16b0a0e9a9fd33968 (patch)
tree4ada070a217cc8a2a25a2dac7b060bdbe31c0b01
parentdb170dd4529c5176d38db649dd75427a932b47fe (diff)
downloadsqlalchemy-4c97ea116c3686cb03f566f16b0a0e9a9fd33968.tar.gz
Don't use repr() for Column/ColumnClause in warning
for #4073, use the string version of the column expression in the warning, otherwise the repr() is showing the hex id which causes unlimited warnings. Change-Id: I6869b685b237e7f02c7b5071701dd63a3577182a
-rw-r--r--lib/sqlalchemy/orm/evaluator.py5
-rw-r--r--test/orm/test_evaluator.py2
2 files changed, 4 insertions, 3 deletions
diff --git a/lib/sqlalchemy/orm/evaluator.py b/lib/sqlalchemy/orm/evaluator.py
index 3f2a83a02..c58aaebbf 100644
--- a/lib/sqlalchemy/orm/evaluator.py
+++ b/lib/sqlalchemy/orm/evaluator.py
@@ -62,9 +62,10 @@ class EvaluatorCompiler(object):
key = parentmapper._columntoproperty[clause].key
else:
key = clause.key
- if self.target_cls and key in inspect(self.target_cls).column_attrs:
+ if self.target_cls and \
+ key in inspect(self.target_cls).column_attrs:
util.warn(
- "Evaluating non-mapped column expression '%r' onto "
+ "Evaluating non-mapped column expression '%s' onto "
"ORM instances; this is a deprecated use case. Please "
"make use of the actual mapped columns in ORM-evaluated "
"UPDATE / DELETE expressions." % clause)
diff --git a/test/orm/test_evaluator.py b/test/orm/test_evaluator.py
index dc96dc15d..fca050ccf 100644
--- a/test/orm/test_evaluator.py
+++ b/test/orm/test_evaluator.py
@@ -91,7 +91,7 @@ class EvaluateTest(fixtures.MappedTest):
compiler = evaluator.EvaluatorCompiler(User)
with expect_warnings(
- r"Evaluating non-mapped column expression 'Column\('othername'.* "
+ r"Evaluating non-mapped column expression 'othername' "
"onto ORM instances; this is a deprecated use case."):
meth = compiler.process(User.name == Column('othername', String))