diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2017-09-10 23:08:30 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2017-09-10 23:08:30 -0400 |
commit | 4c97ea116c3686cb03f566f16b0a0e9a9fd33968 (patch) | |
tree | 4ada070a217cc8a2a25a2dac7b060bdbe31c0b01 | |
parent | db170dd4529c5176d38db649dd75427a932b47fe (diff) | |
download | sqlalchemy-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.py | 5 | ||||
-rw-r--r-- | test/orm/test_evaluator.py | 2 |
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)) |