diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-03-02 20:27:53 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-03-02 20:27:53 -0500 |
commit | b83dd4dc2200bece2896a125be6d4f0911669d15 (patch) | |
tree | 32f4b23b870d6d4b92142b50481a9b838bebcfd0 /lib/sqlalchemy/orm/unitofwork.py | |
parent | 98fea3e3dca48071c213d9f039195f9421ed200a (diff) | |
download | sqlalchemy-b83dd4dc2200bece2896a125be6d4f0911669d15.tar.gz |
Can set/change the "cascade" attribute on a :func:`.relationship`
construct after it's been constructed already. This is not
a pattern for normal use but we like to change the setting
for demonstration purposes in tutorials.
Diffstat (limited to 'lib/sqlalchemy/orm/unitofwork.py')
-rw-r--r-- | lib/sqlalchemy/orm/unitofwork.py | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/sqlalchemy/orm/unitofwork.py b/lib/sqlalchemy/orm/unitofwork.py index 98636d935..1f5115c41 100644 --- a/lib/sqlalchemy/orm/unitofwork.py +++ b/lib/sqlalchemy/orm/unitofwork.py @@ -40,9 +40,9 @@ def track_cascade_events(descriptor, prop): prop = state.manager.mapper._props[key] item_state = attributes.instance_state(item) - if prop.cascade.save_update and \ + if prop._cascade.save_update and \ (prop.cascade_backrefs or key == initiator.key) and \ - not sess._contains_state(item_state): + not sess._contains_state(item_state): sess._save_or_update_state(item_state) return item @@ -63,9 +63,9 @@ def track_cascade_events(descriptor, prop): # expunge pending orphans item_state = attributes.instance_state(item) - if prop.cascade.delete_orphan and \ + if prop._cascade.delete_orphan and \ item_state in sess._new and \ - prop.mapper._is_orphan(item_state): + prop.mapper._is_orphan(item_state): sess.expunge(item) def set_(state, newvalue, oldvalue, initiator): @@ -83,14 +83,14 @@ def track_cascade_events(descriptor, prop): prop = state.manager.mapper._props[key] if newvalue is not None: newvalue_state = attributes.instance_state(newvalue) - if prop.cascade.save_update and \ + if prop._cascade.save_update and \ (prop.cascade_backrefs or key == initiator.key) and \ not sess._contains_state(newvalue_state): sess._save_or_update_state(newvalue_state) if oldvalue is not None and \ oldvalue is not attributes.PASSIVE_NO_RESULT and \ - prop.cascade.delete_orphan: + prop._cascade.delete_orphan: # possible to reach here with attributes.NEVER_SET ? oldvalue_state = attributes.instance_state(oldvalue) |