Django с django-tenant, невозможно выполнить миграцию

Context

Я пытаюсь установить django-tenants для моего приложения Django, следуя официальному руководству по установке.

Мое приложение Django работало совершенно нормально, когда я запускал manage.py runserver.

Моя settings.py выглядит точно так же, как в руководстве:


SHARED_APPS = (
    'django_tenants',
    'iam',  # the tenant models (Client & Domain) reside in this app

    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    ...
)

TENANT_APPS = (
    'django.contrib.contenttypes',
    'django.contrib.auth',
    'django.contrib.admin',
    'django.contrib.sessions',
    'django.contrib.messages',

    ...
)

INSTALLED_APPS = list(SHARED_APPS) + [app for app in TENANT_APPS if app not in SHARED_APPS]

MIDDLEWARE = [
    'django_tenants.middleware.main.TenantMainMiddleware',
    ... # rest of middleware
]

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',  # the option for django-tenant
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

DATABASES = {
    'default': {
        "ENGINE": 'django_tenants.postgresql_backend',
        ... # other db settings
    }
}

DATABASE_ROUTERS = (
    'django_tenants.routers.TenantSyncRouter',
)

TENANT_MODEL = "iam.Client"

TENANT_DOMAIN_MODEL = "iam.Domain"

Проблема

После выполнения всех шагов в руководстве по установке я пытаюсь использовать python manage.py migrate_schemas --shared. Это приводит к следующей трассировке стека:

Что я пробовал

Я попробовал python manage.py makemigration, даже если единственными изменениями являются вновь созданные модели, связанные с django-tenant. Это не изменило ошибку к сожалению.

Я также попытался прошить и удалить базу данных полностью и полностью удалить все миграции. Это привело к той же ошибке.

Запуск manage.py migrate также приводит к той же ошибке.

Ожидаемое поведение

Правильное применение миграций без вышеуказанной ошибки.

Как я могу решить эту проблему? Я думаю, что это как-то связано с изменениями в settings.py для django-tenant.

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