---
title: "Integrando o Django com banco de dados legados"
version: 1.11
locale: pt-br
source: https://docs.djangoproject.com/pt-br/1.11/howto/legacy-databases/
canonical: https://djangodocs.dev/pt-br/1.11/howto/legacy-databases/
---
# Integrando o Django com banco de dados legados

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](/pt-br/1.11/intro/tutorial01/).

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`](/pt-br/1.11/ref/settings/#std-setting-DATABASES) e assinalando os valores das seguintes chaver para a conexão `'default'`:

- [`NAME`](/pt-br/1.11/ref/settings/#std-setting-NAME)
- [`ENGINE`](/pt-br/1.11/ref/settings/#std-setting-DATABASE-ENGINE)
- [`USER`](/pt-br/1.11/ref/settings/#std-setting-USER)
- [`PASSWORD`](/pt-br/1.11/ref/settings/#std-setting-PASSWORD)
- [`HOST`](/pt-br/1.11/ref/settings/#std-setting-HOST)
- [`PORT`](/pt-br/1.11/ref/settings/#std-setting-PORT)

## Criar automaticamente os modelos

O Django vem com uma ferramenta chamada [`inspectdb`](/pt-br/1.11/ref/django-admin/#django-admin-inspectdb) que pode criar os modelos introspectando o banco de dados existente. Você pode verificar a saida rodando este comando:

```bash
$ python manage.py inspectdb
```

Salve isso como um arquivo usando o redirecionamento padrão d3 saída Unix.

```bash
$ python manage.py inspectdb > models.py
```

Este comandoé um atalho, não um gerador de modelos definitivos. Veja o [`documentation of inspectdb`](/pt-br/1.11/ref/django-admin/#django-admin-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`](/pt-br/1.11/ref/settings/#std-setting-INSTALLED_APPS).

Por padrão, o [`inspectdb`](/pt-br/1.11/ref/django-admin/#django-admin-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:

```bash
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'
```

Se você quer permitir que o Django gerencie o ciclo de vida das tabelas, é necessário alterar a opção [`managed`](/pt-br/1.11/ref/models/options/#django.db.models.Options.managed) acima para `True`  ( ou simplesmente removê-la porque `True` é o valor padrão).

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

A seguir, execute o comando [`migrate`](/pt-br/1.11/ref/django-admin/#django-admin-migrate) para instalar qualquer registro necessário de banco de dados tal como permissões do admin e tipos de conteúdo:

```bash
$ 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.
