The latest version of [django-fsm](https://pypi.python.org/pypi/django-fsm), currently 2.6.0, has some useful features, particularly the `on_error` argument for `@transition`.