This allows for validation on the model level for a transition that is
about to happen (via form.is_valid).
Raising ValidationError via validate_fsm_state_change allows for
Django handling it properly, instead for when the ValidationError would
be raised from the transition function itself.
This allows for validation on the model level for a transition that is about to happen (via
form.is_valid
). Raising ValidationError viavalidate_fsm_state_change
allows for Django handling it properly, instead for when the ValidationError would be raised from the transition function itself.Ref: https://github.com/django/django/pull/9113 Ref: https://github.com/kmmbvnr/django-fsm/issues/120