3
respostas

MODELS EM BANCO DE DADOS JÁ EXISTENTE

Boa tarde! Minha dúvida ficou no seguinte, já possuo um banco de dados e preciso me conectar nele para fazer as alterações. Devo criar um Model da mesma maneira sem executar o Migrate ou existe algum outro processo no meio do caminho?

Abraços!

3 respostas

Opa Felipe, tudo bem?

Você pode usar o comando python manage.py inspectdb > models.py para mapear um banco já existente e colocar em um arquivo chamado models.py

Você também pode criar o modelo na mão, a única coisa é que na classe Meta do modelo você deve adicionar managed = False assim o Django vai entender que não é um modelo gerenciado por ele e não vai colocá-lo nas migrations.

Segue página da documentação do Django: https://docs.djangoproject.com/en/4.1/howto/legacy-databases/

Eric, boa tarde!!

Tudo bem?!

Deu certo, consegui fazer a conexão do SQL Server e mapeei uma tabela somente...

Tu tens alguma documentação onde eu consigo fazer a classe Admin entender que ele precisa buscar as informações do novo banco e não do Default?

Obs.: parte dos models que estão no Admin são do Default e parte são do banco legado.

Abraços!

Opa Felipe, tudo bem sim e por ai?

Cara, quando temos mais de um banco geralmente usamos um db_router...

Tem essa documentação no django: https://docs.djangoproject.com/en/4.1/topics/db/multi-db/

Mas é um conceito meio complicado, geralmente procurava algum tutorialzinho no google mesmo, no medium geralmente tem.

Se você quer somente para o admin pelo que vi tem a propriedade using.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software