Django admin & Model Exclusão

votos
2

Eu tenho um monte de classes que herdam de uma classe base comum. Esta classe base comum faz alguma limpeza em seu deletemétodo.

class Base(models.Model):
    def delete(self):
        print foo

class Child(Base):
    def delete(self):
        print bar
        super(Child, self).delete()

Quando eu chamar excluir sobre a Criança da concha eu recebo:

bar
foo

como esperado

Quando eu uso o administrador, o costume excluir funções não parecem ter chamado. Estou faltando alguma coisa óbvia?

Obrigado,

Dom

ps Esta é obviamente uma versão simplificada do código que estou usando, desculpas se ele contém erros de digitação. Sinta-se livre para deixar um comentário e eu vou corrigi-lo.

Publicado 19/05/2009 em 22:26
fonte usuário
Em outras línguas...                            


1 respostas

votos
9

De acordo com este relatório documentação bug ( documento que a maior administrador excluir não chamar model.delete () ), do administrador em massa excluir não chamar função de exclusão do modelo. Se você estiver usando em massa excluir do admin, o que explicaria o seu problema.

A partir da documentação adicional sobre este bilhete, o conselho é escrever um volume personalizado função que põe função de exclusão do modelo excluir.

Mais informações sobre este comportamento é aqui . A ação de exclusão em massa não chama do modelo delete()método para o bem da eficiência.

Respondeu 19/05/2009 em 22:54
fonte usuário

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