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.