From cecc4a345baf985e03c266dab539f52a7fabbbc9 Mon Sep 17 00:00:00 2001 From: Sapan Bhatia Date: Wed, 5 Nov 2014 00:14:02 -0500 Subject: [PATCH] Cascading deletions for dependent objects --- planetstack/model_policy.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/planetstack/model_policy.py b/planetstack/model_policy.py index 1262d26..7dc6dda 100644 --- a/planetstack/model_policy.py +++ b/planetstack/model_policy.py @@ -6,10 +6,14 @@ from dependency_walker import * import model_policies def update_dep(d, o): - print "Updating %s (%s)"%(d,d.__class__.__name__) if (d.updated < o.updated): d.save(update_fields=['updated']) +def delete_if_inactive(d, o): + #print "Deleting %s (%s)"%(d,d.__class__.__name__) + d.delete() + return + @receiver(post_save) def post_save_handler(sender, instance, **kwargs): sender_name = sender.__name__ @@ -27,4 +31,6 @@ def post_save_handler(sender, instance, **kwargs): except: pass + elif 'deleted' in kwargs['update_fields']: + walk_inv_deps(delete_if_inactive, instance) -- 2.43.0