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.

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':

Criar automaticamente os modelos

O Django vem com uma ferramenta chamada inspectdb que pode criar os modelos introspectando o banco de dados existente. Você pode verificar a saida rodando este comando:

$ python manage.py inspectdb

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

$ 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'

Se você quer permitir que o Django gerencie o ciclo de vida das tabelas, é necessário alterar a opção 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 para instalar qualquer registro necessário de banco de dados tal como permissões do admin e tipos de conteúdo:

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

Back to Top