Estilo - Quando serializar um Django modelo Instância: sinais vs modelo Salvar o método de

StackOverflow https://stackoverflow.com/questions/131327

  •  02-07-2019
  •  | 
  •  

Pergunta

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 no modelo de economia de () methon

Foi útil?

Solução

Se é a funcionalidade principal para salvar o modelo que você vai querer isso como parte do método save. No entanto, se você já tem um modelo de funcionamento e quer estendê-la 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 o modo de economia será bem sucedido não deve ser usado para qualquer coisa que vai depender da economia de ser concluída.

Outras dicas

Depois salvar. Dessa forma, os novos dados (o motivo para realizar a serialização) já está no banco de dados. Ela vai fazer um pouco mais limpo muito do código que simplesmente leva a partir do banco de dados e não tem de 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 uma sobrecarga Se você está lidando muito menos com enormes mesas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top