From ea637cef2d9ec54b14fac3620b1cfd47da723f3f Mon Sep 17 00:00:00 2001 From: Paulo Bu Date: Wed, 5 Nov 2014 13:15:08 +0100 Subject: Small improvement on FlushError can't delete error message Output in the error message the table name and the column name. --- lib/sqlalchemy/orm/persistence.py | 4 ++-- test/orm/test_unitofwork.py | 3 ++- 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 ) -- cgit v1.2.1