From: Mike Bayer Date: Tue, 2 Mar 2021 23:48:08 +0000 (-0500) Subject: Remove passive_deletes warning for many-to-one X-Git-Tag: rel_1_4_0~22 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a63b23392fc31766e32b8650127d9006ee189a0f;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Remove passive_deletes warning for many-to-one Removed very old warning that states that passive_deletes is not intended for many-to-one relationships. While it is likely that in many cases placing this parameter on a many-to-one relationship is not what was intended, there are use cases where delete cascade may want to be disallowed following from such a relationship. Change-Id: I07adb726633f73f26296add4ec70376d5dcf8817 References: #5983 --- diff --git a/doc/build/changelog/unreleased_13/5983.rst b/doc/build/changelog/unreleased_13/5983.rst new file mode 100644 index 0000000000..a5724ebe28 --- /dev/null +++ b/doc/build/changelog/unreleased_13/5983.rst @@ -0,0 +1,11 @@ +.. change:: + :tags: bug, orm + :tickets: 5983 + + Removed very old warning that states that passive_deletes is not intended + for many-to-one relationships. While it is likely that in many cases + placing this parameter on a many-to-one relationship is not what was + intended, there are use cases where delete cascade may want to be + disallowed following from such a relationship. + + diff --git a/lib/sqlalchemy/orm/relationships.py b/lib/sqlalchemy/orm/relationships.py index 63dca4c95a..c1fcc63c1e 100644 --- a/lib/sqlalchemy/orm/relationships.py +++ b/lib/sqlalchemy/orm/relationships.py @@ -2353,13 +2353,6 @@ class RelationshipProperty(StrategizedProperty): code="bbf0", ) - if self.direction is MANYTOONE and self.passive_deletes: - util.warn( - "On %s, 'passive_deletes' is normally configured " - "on one-to-many, one-to-one, many-to-many " - "relationships only." % self - ) - if self.passive_deletes == "all" and ( "delete" in cascade or "delete-orphan" in cascade ): diff --git a/test/orm/test_unitofwork.py b/test/orm/test_unitofwork.py index 2c35bec45f..ff8349fee9 100644 --- a/test/orm/test_unitofwork.py +++ b/test/orm/test_unitofwork.py @@ -779,7 +779,7 @@ class PassiveDeletesTest(fixtures.MappedTest): 0, ) - def test_aaa_m2o_emits_warning(self): + def test_aaa_m2o_no_longer_emits_warning(self): myothertable, MyClass, MyOtherClass, mytable = ( self.tables.myothertable, self.classes.MyClass, @@ -797,7 +797,7 @@ class PassiveDeletesTest(fixtures.MappedTest): }, ) mapper(MyClass, mytable) - assert_raises(sa.exc.SAWarning, sa.orm.configure_mappers) + sa.orm.configure_mappers() class BatchDeleteIgnoresRowcountTest(fixtures.DeclarativeMappedTest):