Database commit behavior is confusingly documented
|Reported by:||philipn||Owned by:||mateusgondim|
|Has patch:||yes||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
By default, Django starts a transaction when a database connection is first used and commits the result at the end of the request/response handling. The PostgreSQL backends normally operate the same as any other Django backend in this respect.
Django’s default behavior is to run with an open transaction which it commits automatically when any built-in, data-altering model function is called. For example, if you call model.save() or model.delete(), the change will be committed immediately.
https://docs.djangoproject.com/en/dev/topics/db/transactions/ describes the current behavior. It seems like the other documentation should be updated to reflect this.