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.