No Odoo temos alguns pontos importantes a ter em mente:
Todo modelo em Odoo representa uma tabela numa base de dados.
Na imagem a seguir temos o modelo contactos, isso quer dizer que na base de dados temos registada uma tabela contactos. Poderíamos ter como exemplo modelo de produtos, vendas, funcionários, clientes, gastos, factura, etc...
Todo registo em Odoo pertence a um modelo.
Todo e qualquer registo apresentado no modelo encontra-se registado numa tabela na base de dados. Por exemplo, qualquer contacto que temos representado na imagem, representa um registo no modelo contacto.
As colunas dentro das tabelas na base de dados, representam os campos dentro dos modelos Odoo.
Como exemplo na imagem abaixo temos o modelo de produtos, onde a coluna se converte em campo no modelo, como é mostrado no formulário na imagem abaixo.
Nota: Todos os campos apresentados no formulário da imagem abaixo, representam uma coluna na tabela produto na base de dados.
Identificar os nomes técnicos dos modelos em Odoo
Identificar pela URL.
Primeiro devemos abrir o modelo que pretendemos identificar, como exemplo vamos usar o modelo Factura, ver a imagem abaixo. O nome técnico do modelo é o valor que está depois da chave model.
Identificar ativando o modo de desenvolvedor ou modo debug.
Primeiro temos que ativar o modo debug, para ativar esta opção deve passar a tag “debug=1” depois do web (ponto 1), e poderá verificar a opção o modo desenvolvedor ligado (ponto 2).
Após isso aceder ao menu “Edit View: List”, irá abrir uma janela como é apresentado, na imagem abaixo, podemos verificar o nome técnico do modelo no campo modelo, podemos ver neste exemplo o modelo Factura tem como o nome técnico “account.move”.
Identificar o nome técnico dos campos dentro de um modelo Odoo
Para verificar o nome técnico de um determinado campo no modelo Odoo, primeiro deverá abrir qualquer registo, e no formulário deve posicionar o mouse por cima do campo que pretende saber, ou aceder ao modo desenvolvedor, clicar no menu “View Fields”, irá abrir uma janela com todos os campos existentes no modelo , ver imagem abaixo.
Nota: podemos ter como referência a coluna “Field Name” onde é mostrado o nome técnico do campo, a coluna “Field Label” onde é mostrado a descrição do campo, a coluna “Model” mostrado o nome do modelo onde o campo se encontra registrado, a coluna “ Fiel Type” é mostrado o tipo do campo, a coluna “Related Model” é mostrado a relação do campo, ou seja, se o campo em questão pertence ao outro modelo Odoo.
Criar novos modelos e actualizar modelos existentes em Odoo
Um modelo Odoo novo é criado pelo um desenvolvedor python Odoo, com conhecimentos em linguagem Python e estrutura Odoo. Muitos modelos apresentados já são padrão, criados e prontos para o uso.
O importante a ter em mente é que um desenvolvedor Odoo pode criar novos modelos, definir campos e criar regras para o mesmo modelo. Ao criar um modelo novo, por sua vez este modelo irá criar uma tabela na base de dados com todos os campos referenciados no modelo, como já vimos nos pontos acima.
Um desenvolvedor Odoo pode reutilizar modelos existentes, redefinir campos, métodos e regras. Como também pode reescrever funcionalidades existentes e agregar novas mudanças de acordo com as suas necessidades.