@@ -15,6 +15,11 @@ def pre_transition_callback(*args, **kwargs):
1515 def post_transition_callback (* args , ** kwargs ):
1616 raise NotImplementedError
1717
18+ @staticmethod
19+ def _get_model_qualified_name__ (sender ):
20+ return '%s.%s' % (sender .__module__ ,
21+ getattr (sender , '__qualname__' , sender .__name__ ))
22+
1823
1924class CachedBackend (object ):
2025
@@ -26,6 +31,10 @@ def setup_model(model):
2631 @staticmethod
2732 def pre_transition_callback (sender , instance , name , source , target , ** kwargs ):
2833 from .models import StateLog
34+
35+ if BaseBackend ._get_model_qualified_name__ (sender ) in settings .DJANGO_FSM_LOG_IGNORED_MODELS :
36+ return
37+
2938 StateLog .pending_objects .create (
3039 by = getattr (instance , 'by' , None ),
3140 state = target ,
@@ -52,6 +61,10 @@ def pre_transition_callback(sender, **kwargs):
5261 @staticmethod
5362 def post_transition_callback (sender , instance , name , source , target , ** kwargs ):
5463 from .models import StateLog
64+
65+ if BaseBackend ._get_model_qualified_name__ (sender ) in settings .DJANGO_FSM_LOG_IGNORED_MODELS :
66+ return
67+
5568 StateLog .objects .create (
5669 by = getattr (instance , 'by' , None ),
5770 state = target ,
0 commit comments