Do you know the default isolation level of the transactions used in Django? Is it possible to set the isolation level in the database independent way?
I'm mainly interested in mysql and postgres.
Do you know the default isolation level of the transactions used in Django? Is it possible to set the isolation level in the database independent way?
I'm mainly interested in mysql and postgres.
The isolation level isn't changed by mysql drivers so it depends on the server's default isolation level.
At the moment django does not set the isolation level. This is a bug, because of django does not work properly with any higher isolation level than READ COMMITTED. But MySQL is using REPEATABLE READ by default. There are plans to add a setting to set the isolation level (#14026) and a discussion about making READ COMMITTED the default (#13906). I have also written a detailed article about MySQL transactions and django.