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.
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.
if you want to use read uncommited isolation level.
you add the 'isolation_level': 'read uncommitted' in 'OPTIONS on database connection configuration.
DATABASES = {
'read-uncommited': {
'OPTIONS': {
'isolation_level': 'read uncommitted'
},
},
}
you can find from https://docs.djangoproject.com/en/2.1/ref/databases/