Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django,添加多个数据库错误配置了我的设置_Python_Django - Fatal编程技术网

Python Django,添加多个数据库错误配置了我的设置

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': '

我有一个完全可以工作的测试项目,它只使用一个数据库(Django 1.8+PostgreSQL 9.1)。然后,我被要求添加多个数据库。我删除了我正在使用的一个数据库,并创建了3个新的数据库。我修改了settings.py,如下所示:

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

您运行什么来创建迁移?谢谢,我刚刚更新了我的问题。您运行什么来创建迁移?谢谢,我刚刚更新了我的问题。