# Documentação Django 6.0.7

# How to integrate Django with a legacy database

Enquanto o Django é melhor para desenvolver novas aplicações, é possível integrá-lo a um banco de dados existente. O Django inclue algumas ferramentas para automatzar tanto quanto possível o processo.

Este documento assume que você conhece o básico de django, como coberto em tutorial.

Uma vez que tenha o Django configurado, seguirá este processo geral para integrar com o banco de dados existente.

## Forneça ao Django os parâmetros do seu banco de dados.

Você precisa informar ao Django quais são ps parâmetros de conexão do seu banco de dados, e o nome do banco de dados. Faça isso editando a definição `DATABASES` e assinalando os valores das seguintes chaver para a conexão `'default'`:

- `NAME`

- `ENGINE`

- `USER`

- `PASSWORD`

- `HOST`

- `PORT`

## Criar automaticamente os modelos

Django comes with a utility called `inspectdb` that can create models by introspecting an existing database. You can view the output by running this command:

    $ python manage.py inspectdb

Save this as a file by using standard Unix output redirection:

    $ python manage.py inspectdb > models.py

Este comandoé um atalho, não um gerador de modelos definitivos. Veja o `documentation of inspectdb` para mais informações.

Uma vez que tenha limpado seus modelos, nomeie arquivo ``models.py``e coloque-o no pacote Python que contém sua aplicação. Entã adicione a app dentro da sua definição de `INSTALLED_APPS`.

Por padrão, o `inspectdb` cria modelos não gerenciáveis. Quer dizer, `managed = False` na `Meta` classe do modelo, diz ao Django para não gerenciar a criação, modificação e deleção de cada tabela:

    class Person(models.Model):
        id = models.IntegerField(primary_key=True)
        first_name = models.CharField(max_length=70)

        class Meta:
            managed = False
            db_table = "CENSUS_PERSONS"

If you do want to allow Django to manage the table’s lifecycle, you’ll need to change the `managed` option above to `True` (or remove it because `True` is its default value).

## Instalando as Tabelas do núcleo do Django.

Next, run the `migrate` command to install any extra needed database records such as admin permissions and content types:

    $ python manage.py migrate

## Teste e ajustes

Estes são os passos básicos – daqui em diante você irá querer ajustar os modelos que o Django gerou até que funcionem do jeito que você goste. Tente acessar seus dados através da API de banco de dados do Django, e tente editá-los via o site admin do Django, e edite o arquivo de modelo de acordo.