Pesquisar este blog

sexta-feira, 14 de novembro de 2008

Como separar o models do seu aplicativo em vários arquivos

Bem, para você que conhece o framework django, sabe que os aplicativos normalmente possuem um arquivo models.py onde você coloca todos os modelos do aplicativo que serão mapeados em tabelas do banco de dados.

Bem, essa abordagem é otima até um certo ponto. Ela permite centralizar o local onde seus modelos ficarão, permitindo que você faça edições no modelo de uma forma bastante prática, entretanto, dependendo da quantidade de modelos, pode ficar um tanto difícil manter o rastro do que está definido lá dentro.

Digamos que você tem mais de 20 modelos definidos dentro de um único arquivo modes.py, controlar esse pequeno monstrinho pode ficar complicado! Para resolver isso, em Django, é muito fácil.

Crie uma pasta chamada models, logo abaixo do seu aplicativo(NÃO FALEI PROJETO, FALEI APLICATIVO!!), remova o seu models.py, jogue seus arquivos .py que possuem os modelos que você quer, lá dentro, preencha o atributo app_label da classe Meta de cada um dos modelos, e depois importe os modelos que serão utilizados pelo aplicativo em um arquivo __init__.py localizado na pasta recém criada models.

Rrsrsrs, difícil? Vamos por passos:

  • criar pasta models
  • remover o models.py
  • adicionar os arquivos .py com os modelos do seu aplicativo à pasta models
  • definir o app_label ao Meta de cada modelo
  • importar os modelos em um arquivo __init__.py criado dentro da pasta models

Voalá! Modelos organizados em arquivos separados! Agora, não sejamos brutos e desconhecedores da filosofia python a ponto de colocar cada modelo em um .py diferente, ok? Isso faz sentido EM JAVA, em python, isso seria uma brutalidade, quissá uma ignorância.

Abraço a todos e espero ter ajudado!

Nenhum comentário:

Postar um comentário