Администратор Django: переопределить метод удаления

У меня есть admin.py следующим образом:

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

Теперь я хочу выполнить некоторые действия перед удалением объекта:

  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))

Если я использую метод удаления сигнала, как это, я получаю сообщение об ошибкеself должен быть первым параметром.

Как я могу изменить вышеуказанную функцию?

И я хочу получить имя_профиля удаляемого объекта. Как это может быть сделано?

Я также попытался переопределить метод delete_model:

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

Но это досне работает, если несколько объектов должны быть удалены за один выстрел.

Ответы на вопрос(4)

Ваш ответ на вопрос