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
Share:
13,306

Related videos on Youtube

TheEyesHaveIt
Author by

TheEyesHaveIt

Updated on June 27, 2022

Comments

  • TheEyesHaveIt
    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
    TheEyesHaveIt almost 8 years
    When 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
    solarissmoke almost 8 years
    That would happen if the database file didn't exist. Check that 'C:/Users/Desktop/test2.db' actually exists?

Related