Estilo - Quando serializar um modelo Instância Django: sinais vs método save do modelo

votos
1

Eu pretendo serializar um modelo de Django para XML quando é salvo ou atualizado. (O XML vai ser importado para um filme flash). É melhor para ouvir um post_save () ou sinal pre_save () e, em seguida, executar a serialização, ou apenas lidar com isso de salvar do modelo () methon

Publicado 25/09/2008 em 04:25
fonte usuário
Em outras línguas...                            


2 respostas

votos
2

Se é a funcionalidade principal para salvar o modelo que você vai querer que ele, como parte do método save. No entanto, se você já tem um modelo de funcionamento e pretende estendê-lo para outros fins, em seguida, os sinais são sua melhor aposta, uma vez que permitem módulos devidamente dissociados.

Um bom exemplo pode ser que você deseja adicionar o registo de eventos para o seu site, então você simplesmente ouvir os sinais que significam um evento em vez de modificar o código de site original.

post_save () é geralmente melhor porque significa que o modelo foi salvo com sucesso, utilizando pre_save () não garante que a salvar vai ser bem sucedido, portanto, não deve ser usado para qualquer coisa que vai depender das defesas serem concluídas.

Respondeu 25/09/2008 em 22:49
fonte usuário

votos
0

Pós salvar. Dessa forma, os novos dados (a razão para realizar a serialização) já está no banco de dados. Ela vai fazer um pouco mais limpa de código que simplesmente leva a partir do banco de dados e não tem que se preocupar com a adição de um valor extra.

A outra maneira que vem à mente é a de manter o arquivo xml em paralelo ao banco de dados. Isso quer dizer que, em sua save () adicionar os dados para o banco de dados, e para o arquivo xml. Este teria muito menos sobrecarga se você está lidando com grandes mesas.

Respondeu 25/09/2008 em 04:43
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more