使用Django和PostgreSQL进行事务(@atomic)的默认隔离级别

时间:2017-02-19 18:48:59

标签: django postgresql transactions atomic

我想知道将Django与PostgreSQL数据库一起使用时的默认隔离级别是什么。 Serializable Isolation ? (https://www.postgresql.org/docs/9.1/static/transaction-iso.html#XACT-SERIALIZABLE

关于MySQL(Django transaction isolation level in mysql & postgresql)的讨论,但尽管它的名字似乎没有讨论PostgreSQL

谢谢!

2 个答案:

答案 0 :(得分:6)

来自docs

  

与PostgreSQL本身一样,Django默认为READ COMMITTED   隔离级别。

答案 1 :(得分:0)

可以使用以下数据库设置来配置Django:

import psycopg2.extensions

DATABASES = {
    # ...
    'OPTIONS': {
        'isolation_level': psycopg2.extensions.ISOLATION_LEVEL_SERIALIZABLE,
    },
}

文档-https://docs.djangoproject.com/en/2.2/ref/databases/#isolation-level