From 6deb514992ce7d84196fedc191672eae8cc6dc37 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Mon, 12 Sep 2016 18:36:01 -0400 Subject: [PATCH] - also caveats for update() / delete() regarding single table inheritance Change-Id: If1511812a22a53537409f902f73e2e52ae3e4a3d (cherry picked from commit 992344334328dba385fe6aa7694cfe3c13adc9d6) --- lib/sqlalchemy/orm/query.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py index f74fd44bbc..cb712c94b3 100644 --- a/lib/sqlalchemy/orm/query.py +++ b/lib/sqlalchemy/orm/query.py @@ -3099,6 +3099,11 @@ class Query(object): mappings unless you have taken the additional steps to make this feasible**. + * The polymorphic identity WHERE criteria is **not** included + for single- or + joined- table updates - this must be added **manually** even + for single table inheritance. + * The method does **not** offer in-Python cascading of relationships - it is assumed that ON DELETE CASCADE/SET NULL/etc. is configured for any foreign key references @@ -3256,6 +3261,11 @@ class Query(object): filter(Employee.name == 'dilbert').\\ update({"engineer_type": "programmer"}) + * The polymorphic identity WHERE criteria is **not** included + for single- or + joined- table updates - this must be added **manually**, even + for single table inheritance. + * The :meth:`.MapperEvents.before_update` and :meth:`.MapperEvents.after_update` events **are not invoked from this method**. Instead, the -- 2.47.3