Tenho mexido com o Django e o Django ORM em casa, e tenho que dizer que acho que é um dos melhores que existem em termos de facilidade de uso.
No entanto, gostaria de saber se seria possível usá-lo "ao contrário".
Basicamente, o que eu gostaria de fazer é gerar modelos Django a partir de um esquema de banco de dados existente (de um projeto que não usa django e é muito antigo).
Isso é possível?
Atualização: o banco de dados em questão é Oracle
dev
versão (com mais ênfase ?? talvez não ..)(Django 1.7.1) Simplesmente executando
python manage.py inspectdb
irá criar classes para todas as tabelas no banco de dados e exibir no console.Salve como um arquivo usando o redirecionamento de saída padrão do Unix:
(Isso funciona para mim com mysql e django 1.9)
fonte
Eu fiz um aplicativo reutilizável baseado no utilitário de comando inspectdb do django, Django Inspectdb Refactor .
Isso divide os modelos em arquivos diferentes dentro da pasta de modelos de um banco de dados existente. Isso ajuda a gerenciar modelos quando eles se tornam grandes em número.
Você pode instalá-lo via pip:
Em seguida, registre o aplicativo em settings.py como
inspectdb_refactor
Depois disso, você pode usá-lo na linha de comando como:
Isso criará com sucesso a pasta de modelos com todas as tabelas como arquivos de modelo diferentes dentro do seu aplicativo. Por exemplo:
Mais detalhes podem ser encontrados aqui.
fonte
get_meta() missing 1 required positional argument: 'is_partition'
. Usando django 2.0