Отредактировал файл setting.py
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 'NAME': '/var/www/working/db.sqlite3', # Or path to database file if using sqlite3. 'USER': '', # Not used with sqlite3. 'PASSWORD': '', # Not used with sqlite3. 'HOST': '', # Set to empty string for localhost. Not used with sqlite3. 'PORT': '', # Set to empty string for default. Not used with sqlite3. }, 'okato': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': '/var/www/testing/okato.sqlite3', 'USER': '', 'PASSWORD': '', 'HOST': '', 'PORT': '', } }
./manage.py dbshell .databases
0 main /var/www/working/db.sqlite3
Что делаю не так?
Как после настройки подключения базы данных сделать из неё выборку? Сначала ведь надо создать модель? Пробовал
./manage.py inspectdb > inspected_models.py
Видимо необходимо написать вручную модель. Подскажите как для следующего кода
CREATE TABLE `class_okato` ( `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , `name` VARCHAR(512) NOT NULL , `code` VARCHAR(11) NOT NULL , `control_number` SMALLINT NOT NULL , `parent_id` INT NULL DEFAULT NULL, `parent_code` VARCHAR(11) NULL DEFAULT NULL, `node_count` SMALLINT NOT NULL DEFAULT 0, `additional_info` VARCHAR(128) NULL DEFAULT NULL, CONSTRAINT `class_okato_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES class_okato (`id`));
Ведь надо не просто ещё модель описать, но указать, что она относится к другой базе данных. Как?
Как после использовать базу вроде ясно:
>>> # This will run on the 'other' database. >>> Author.objects.using('okato').all()