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.