Django admin: sobrescreve o método delete

Eu tenho o admin.py da seguinte forma:

  class profilesAdmin(admin.ModelAdmin):
     list_display = ["type","username","domain_name"]

Agora quero realizar alguma ação antes de excluir o objeto:

  class profilesAdmin(admin.ModelAdmin):
     list_display = ["type","username","domain_name"]

     @receiver(pre_delete, sender=profile)
     def _profile_delete(sender, instance, **kwargs):
        filename=object.profile_name+".xml"
        os.remove(os.path.join(object.type,filename))

Se eu usar o método de sinal de exclusão como este, recebo um erro dizendoself deve ser o primeiro parâmetro.

Como posso modificar a função acima?
E eu quero recuperar o profile_name do objeto que está sendo excluído. Como isso pode ser feito?

Eu também tentei substituir o método delete_model:

def delete_model(self, request, object):
    filename=object.profile_name+".xml"
    os.remove(os.path.join(object.type,filename))
    object.delete()

Mas isso não funciona se vários objetos tiverem que ser apagados de uma só vez.

questionAnswers(4)

yourAnswerToTheQuestion