Legacy databases
There is an entire section on legacy databases in Django documentation and rightly so, as you will run into them many times. Data is more important than code, and databases are the repositories of data in most enterprises.
You can modernize a legacy application written in other languages or frameworks by importing their database structure into Django. As an immediate advantage, you can use the Django admin interface to view and change your legacy data.
Django makes this easy with the inspectdb
management command, which looks as follows:
$ python manage.py inspectdb > models.py
This command, if run while your settings are configured to use the legacy database, can automatically generate the Python code that would go into your models file.
Here are some best practices if you are using this approach to integrate to a legacy database:
- Know the limitations of Django ORM beforehand. Currently, multicolumn (composite) primary keys and NoSQL databases are not supported.
- Don't...