Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Evitar a atualização da imagem/campos não utilizados

Prezados,

Durante a atualização é possível notar que realizamos a atualização de todos os campos do banco de dados e da imagem, ainda que os mesmos não tenham sidos atualizados.

Aqui vai uma dúvida conceitual: Vale a pena realizar algum check para comparar estes campos, ou em termos de eficiência teríamos resultados semelhantes/piores?

Essa validação ficaria dentro das rotas do Flask?

Agradeço desde já.

1 resposta
solução!

Opa!

Como vai?

É uma ótima pergunta. Tem algumas formas de enxergar esta situação e não acho que tem certo ou errado.

Da forma feita no curso tentamos deixar mais enxuto para que não tivesse tanto código para ser digitado. O objetivo foi ter o resultado mais rápido.

Em algumas situações pode ser que faça diferença salvar o modelo inteiro ou apenas parcialmente, por exemplo, se for preciso validar cada campo alterado e se o modelo tiver muitos campos. Pode ser que o ganho de performance seja interessante. Mas para que isso aconteça é preciso testar, pra deixar claro que existe vantagem.

Outro motivo para fazer um update parcial pode ser para auditar quais campos estão sendo editados, caso esta seja uma característica importante para o sistema.

Quanto a validação, acredito que é possível chamar a validação nas rotas, porém a lógica que valida os dados seria mais interessante ficar junto com cada modelo, tornando o código mais rico, e orientado a objetos. Caso seja uma validação muito complexa, ou que tenha dependências, pode ser interessante criar um módulo para validar os dados do modelo. Colocar esta lógica nas rotas não é uma boa ideia, pois pode deixar mais difícil de manter este código e ainda trazer dúvida caso haja erro de validação (fica difícil saber se o erro foi de validação ou em alguma função da própria rota).

Qualquer coisa avise!

Abraços!

Luan

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