Почему эта локальная конфигурация django DATABASES не поддерживается в django 5.0.1?

Я использую включение настроек local.py, чтобы разработчики могли использовать sqlite3, а развернутые сайты могли использовать такие вещи, как postgres. Это local_py_example.py (использую /tmp только для этой репродукции):

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': '/tmp/db.sqlite3',
    }
}

Файл настроек импортирует это таким образом:

import os
import sys

from django.utils.translation import gettext_lazy as _
from utilities.find_base_dir import find_base_dir

# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = find_base_dir()

sys.path.insert(0, f"{BASE_DIR.parent}")  # will look for local.py in the parent directory
try:
    # noinspection PyPackageRequirements,PyUnresolvedReferences
    from local import *
except ImportError:
    from club_site.settings.local_py_example import *

sys.path.pop(0)

... (no DATABASES declared in settings (ONLY IN local.py))
print(f"sqlite: {DATABASES['default']['NAME']}")  # at end just for debugging this

Например, 'django migrate' создает базу данных в неправильном месте (в BASE_DIR), несмотря на то, что в конце настроек указано правильное местоположение (/tmp/db.sqlite3).

Вернуться на верх