Python Django,添加多个数据库错误配置了我的设置
我有一个完全可以工作的测试项目,它只使用一个数据库(Django 1.8+PostgreSQL 9.1)。然后,我被要求添加多个数据库。我删除了我正在使用的一个数据库,并创建了3个新的数据库。我修改了settings.py,如下所示:Python Django,添加多个数据库错误配置了我的设置,python,django,Python,Django,我有一个完全可以工作的测试项目,它只使用一个数据库(Django 1.8+PostgreSQL 9.1)。然后,我被要求添加多个数据库。我删除了我正在使用的一个数据库,并创建了3个新的数据库。我修改了settings.py,如下所示: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'core', 'USER': '
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'core',
'USER': 'chris',
'PASSWORD': '***',
'HOST': 'localhost',
'PORT': '5432',
},
'db1': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'db1',
'USER': 'chris',
'PASSWORD': '***',
'HOST': 'localhost',
'PORT': '5432',
},
'db2': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'db2',
'USER': 'chris',
'PASSWORD': '***',
'HOST': 'localhost',
'PORT': '5432',
}
}
DEFAULT_INDEX_TABLESPACE = 'default'
(使用自动数据库路由和一个models.py)
当我尝试进行第一次迁移时,我现在得到以下信息:
django-admin.py makemigrations--database=db1
django.core.exceptions.impropertlyconfigured:请求设置默认\索引\表空间,但未配置设置。在访问设置之前,必须定义环境变量DJANGO\u SETTINGS\u MODULE或调用SETTINGS.configure()。
但我会这样做:
(testproject) chris@ubuntu-pc ~/D/w/testproject> python manage.py shell
>>> from django.conf import settings
>>> settings.DEFAULT_INDEX_TABLESPACE
'default'
>>> settings.configure()
RuntimeError: Settings already configured.
我做错了什么?您应该在项目中使用
manage.py
,而不是django admin.py
:
python manage.py makemigrations
您不需要将数据库名称传递给makemigrations
。但在迁移时,确实需要分别迁移每个数据库
python manage.py migrate --database=db1
您应该在项目中使用
manage.py
,而不是django admin.py
:
python manage.py makemigrations
您不需要将数据库名称传递给makemigrations
。但在迁移时,确实需要分别迁移每个数据库
python manage.py migrate --database=db1
您运行什么来创建迁移?谢谢,我刚刚更新了我的问题。您运行什么来创建迁移?谢谢,我刚刚更新了我的问题。