When this library was created, there was an unmet demand for its main use case: being able to run code when the current transaction commits, and only if it commits. However, signals are not the best way to do this, as Django core developer Aymeric Augustin has covered on his django-transaction-signals project (which is very similar to this one). You can read more explanation and history there.
If you want a supported method of running a function on commit, then:
- on Django >= 1.9, use the built-in on_commit hook
- on Django < 1.9, use django-transaction-hooks (the original source of 1.9's
on_commit
)
For other usecases, read Aymeric's description of possible solutions.
If your project is still using this library, please migrate.
The current version of django-atomic-signals, 2.0.0, simply errors upon import, directing you here.