为什么django test--keep db可以使用postgres数据库,但不能使用默认的sqlite3

为什么django test--keep db可以使用postgres数据库,但不能使用默认的sqlite3,django,postgresql,testing,sqlite,Django,Postgresql,Testing,Sqlite,我正在两种数据库设置中测试Django(v1.11.4)应用程序: 1) 在docker容器中运行的postgres数据库 或 2) SQLITE3AS(默认数据库) 当使用--keepdb选项运行测试时,我观察到这两种设置的不同行为:对于postgres--keepdb按预期工作(没有数据库创建,运行测试很快),但是对于sqlite3数据库--keepdb似乎不工作(对于每次运行测试,都会创建数据库)。 是否可以让--keepdb使用sqlite3?如果是这样,您知道什么设置可能会影响上述行为

我正在两种数据库设置中测试Django(v1.11.4)应用程序: 1) 在docker容器中运行的postgres数据库 或 2) SQLITE3AS(默认数据库)

当使用
--keepdb
选项运行测试时,我观察到这两种设置的不同行为:对于postgres
--keepdb
按预期工作(没有数据库创建,运行测试很快),但是对于sqlite3数据库
--keepdb
似乎不工作(对于每次运行测试,都会创建数据库)。 是否可以让
--keepdb
使用sqlite3?如果是这样,您知道什么设置可能会影响上述行为吗?

默认情况下。这意味着测试数据库不是持久的。通过指定测试名称,可以在
数据库
设置中覆盖此行为:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite',
        'NAME': 'db.sqlite3',
        'TEST': {
            'NAME': 'testdb.sqlite3',
        },
    },
}
默认情况下。这意味着测试数据库不是持久的。通过指定测试名称,可以在
数据库
设置中覆盖此行为:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite',
        'NAME': 'db.sqlite3',
        'TEST': {
            'NAME': 'testdb.sqlite3',
        },
    },
}