Admin actionsを使う5 - Admin actionsの一括非有効化編
Admin actionsによる削除
Admin actionsによる削除は便利ですが、手違いで削除してしまう可能性があるので危険でもあります。
対策としては、
- 削除するデータを表示した確認画面を作成する。
- "選択されたPostの削除"を非有効化する。
などが考えられます。
指定したAdmin actionsの非有効化
ここでは、手軽に出来る"選択されたPostの削除"を非有効化をしてみます。
記述するファイルは、ここではadmin.pyとします。
admin.py
from django.contrib import admin
…
admin.site.disable_action('delete_selected')
これだけです。
この記述によって、Admin siteに登録されている全modelを対象に"選択されたPostの削除"が非有効化になります。
とはいえ、"選択されたPostの削除"が必要な場合があります。
その場合には
admin.py
from django.contrib import admin
from django.contrib.admin.actions import delete_selected
…
class SampleAdmin(admin.ModelAdmin):
…
actions = ['delete_selected', ]
…
admin.site.disable_action('delete_selected')
という風に必要な分だけ追加すれば使用することが出来ます。
関連ページ
- Admin actionsを使う4 - ForeignKeyデータを一括更新編
- Admin actionsを使う3 - Excel出力編
- Admin actionsを使う2 - 基本編
- Admin actionsを使う1 - 利用編