Конфигурация базы данных Django Project в settings.py - PullRequest
0 голосов
/ 20 сентября 2011

В настоящее время я работаю над тем, чтобы взять внутренний веб-сайт asp.NET, написанный на C #, и переделывать его в веб-инфраструктуре Django.После определения всех текущих источников данных, используемых сайтом .NET, я приступил к настройке и тестированию своей способности подключаться к этим базам данных из среды Django.

  • Платформа: Archlinux
  • Версия Django: 1.3.1
  • Версия Python: 2.7

Проблема: Всякий раз, когда я пытаюсь подключиться к любой базе данных, которая не определена как база данных по умолчанию, я не могу этого сделать.Кроме того, любая база данных, к которой я не могу подключиться, доступна только в том случае, если она определена как и не является значением по умолчанию.

Чтобы дополнительно проиллюстрировать этот момент, я приведу отредактированные примеры:

DATABASES = {
    'default': {
        'ENGINE': 'postgresql_psycopg2',
        'NAME': 'postgres',
        'USER': 'postgres',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '',
    },
    'mssql': {
        'ENGINE': 'sql_server.pyodbc',
        'DATABASE_ODBC_DSN': 'name_of_sql_server',
        'DATABASE_NAME': 'Logs',
        'DATABASE_USER': r'user_name',
        'DATABASE_PASSWORD': 'password',
        'DATABASE_OPTIONS': {
            'driver': 'sql_server_driver',
            'dsn': 'MSSQL_Logs',
        },
    }
}

Если я закомментирую первое определение базы данных по умолчанию и изменит имя базы данных mssql на default, я получу доступ к dbshell через:

manage.py dbshell

Однако, если япопробуйте получить прямой доступ к базе данных mssql, как это определено выше, с помощью:

manage.py dbshell mssql

Я получаю сообщение об ошибке:

TypeError: handle() takes exactly 1 argument (7 given)

Это почти так, как если бы он не мог правильно проанализировать определение,Поэтому мой вопрос в основном таков: неправильно ли я определяю базы данных при их объединении?

1 Ответ

0 голосов
/ 20 сентября 2011

На основании этой ссылки https://docs.djangoproject.com/en/dev/ref/django-admin/#django-admin-dbshell, вы должны использовать python dbshell --database mssql.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...