summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaulo Bu <pbu_98@yahoo.com>2014-11-05 13:15:08 +0100
committerPaulo Bu <pbu_98@yahoo.com>2014-11-05 13:23:03 +0100
commitea637cef2d9ec54b14fac3620b1cfd47da723f3f (patch)
treedb7041fc9be89849d92fd2218bb4792f89aa3614
parentedec583b459e955a30d40b5c5d8baaed0a2ec1c6 (diff)
downloadsqlalchemy-pr/148.tar.gz
Small improvement on FlushError can't delete error messagepr/148
Output in the error message the table name and the column name.
-rw-r--r--lib/sqlalchemy/orm/persistence.py4
-rw-r--r--test/orm/test_unitofwork.py3
2 files changed, 4 insertions, 3 deletions
diff --git a/lib/sqlalchemy/orm/persistence.py b/lib/sqlalchemy/orm/persistence.py
index 114b79ea5..28254cc10 100644
--- a/lib/sqlalchemy/orm/persistence.py
+++ b/lib/sqlalchemy/orm/persistence.py
@@ -441,9 +441,9 @@ def _collect_delete_commands(base_mapper, uowtransaction, table,
state, state_dict, col)
if value is None:
raise orm_exc.FlushError(
- "Can't delete from table "
+ "Can't delete from table %s "
"using NULL for primary "
- "key value")
+ "key value on column %s" % (table, col))
if update_version_id is not None and \
table.c.contains_column(mapper.version_id_col):
diff --git a/test/orm/test_unitofwork.py b/test/orm/test_unitofwork.py
index a54097b03..247c5e7a8 100644
--- a/test/orm/test_unitofwork.py
+++ b/test/orm/test_unitofwork.py
@@ -2505,7 +2505,8 @@ class PartialNullPKTest(fixtures.MappedTest):
s.delete(t1)
assert_raises_message(
orm_exc.FlushError,
- "Can't delete from table using NULL for primary key value",
+ "Can't delete from table t1 using NULL "
+ "for primary key value on column t1.col2",
s.commit
)