diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2009-11-03 04:30:18 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2009-11-03 04:30:18 +0000 |
| commit | 659ca0c5088b2b6dcd66e33bb9aff79aaffc421a (patch) | |
| tree | 1dd3acd20dede3e4068b1cc232904f1322ac1ef6 | |
| parent | e2ca4ebe58810c9f317370255a26cd6c706f60d9 (diff) | |
| download | sqlalchemy-659ca0c5088b2b6dcd66e33bb9aff79aaffc421a.tar.gz | |
added a test for #1349
| -rw-r--r-- | test/orm/test_cascade.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/orm/test_cascade.py b/test/orm/test_cascade.py index c523fb5f0..3b9481dae 100644 --- a/test/orm/test_cascade.py +++ b/test/orm/test_cascade.py @@ -743,6 +743,28 @@ class M2MCascadeTest(_base.MappedTest): assert a.count().scalar() == 1 @testing.resolve_artifact_names + def test_delete_orphan_dynamic(self): + mapper(A, a, properties={ + # if no backref here, delete-orphan failed until [ticket:427] was + # fixed + 'bs': relation(B, secondary=atob, + cascade="all, delete-orphan", single_parent=True,lazy="dynamic") + }) + mapper(B, b) + + sess = create_session() + b1 = B(data='b1') + a1 = A(data='a1', bs=[b1]) + sess.add(a1) + sess.flush() + + a1.bs.remove(b1) + sess.flush() + assert atob.count().scalar() ==0 + assert b.count().scalar() == 0 + assert a.count().scalar() == 1 + + @testing.resolve_artifact_names def test_delete_orphan_cascades(self): mapper(A, a, properties={ # if no backref here, delete-orphan failed until [ticket:427] was |
