У меня есть 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()
Но это не работает, если несколько объектов должны быть удалены одним выстрелом.