Django: using more than one database with inspectdb?
13,306
Solution 1
From the documentation:
--database DATABASE
Specifies the database to introspect. Defaults to
default
.
So you can inspect your second database with:
python manage.py inspectdb --database blah
You cannot inspect both at the same time.
Solution 2
You can specify a specific database like this:
python manage.py inspectdb --database=blah > you_app/models.py
Solution 3
If you are trying @solarissmoke's answer for Django 2.*:
Don't wrap the database name with quotes, otherwise it will give you a KeyError
and a ConnectionDoesnotExist
error.
python manage.py inspectdb --database blah
Related videos on Youtube
Author by
TheEyesHaveIt
Updated on June 27, 2022Comments
-
TheEyesHaveIt almost 2 years
My settings file's database section looks like this:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': 'C:/Users/Desktop/test.db' }, 'blah':{ 'ENGINE': 'django.db.backends.sqlite3', 'NAME': 'C:/Users/Desktop/test2.db' } }
When I run the command
python manage.py inspectdb > models.py
, I only get the model generated for the default database, but not the second one. How could I get both models generated? -
TheEyesHaveIt almost 8 yearsWhen I try this I'm getting an error that
Connection 'blah' doesn't exist
. Do I need to do something prior to this? Does the directory I'm in matter? -
solarissmoke almost 8 yearsThat would happen if the database file didn't exist. Check that
'C:/Users/Desktop/test2.db'
actually exists?