avoid throwing exception for model_policies that don't exist
[plstackapi.git] / planetstack / model_policy.py
index fa55817..ba0cb99 100644 (file)
@@ -5,11 +5,14 @@ from core.models import *
 import model_policies
 
 @receiver(post_save)
-def post_save_handler(sender, **kwargs):
+def post_save_handler(sender, instance, **kwargs):
        sender_name = sender.__name__
        policy_name = 'model_policy_%s'%sender_name
-       try:
-               policy_handler = getattr(model_policies, policy_name)
-               policy_handler.handle(sender)
-       except:
-               pass
+       
+       if (not kwargs['update_fields']):
+               try:
+                       policy_handler = getattr(model_policies, policy_name, None)
+                       if policy_handler is not None:
+                               policy_handler.handle(instance)
+               except:
+                       pass