私は次のように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
と、最初のパラメーターにする必要があるというエラーが表示されます。
上記の関数を変更するにはどうすればよいですか?
そして、削除されるオブジェクトの profile_name を取得したいと考えています。これはどのように行うことができますか?
また、delete_model メソッドをオーバーライドしようとしました。
def delete_model(self, request, object):
filename=object.profile_name+".xml"
os.remove(os.path.join(object.type,filename))
object.delete()
ただし、複数のオブジェクトを一度に削除する必要がある場合、これは機能しません。