naritoブログ

【お知らせ】
新ブログができました。今後そちらで更新し、このサイトは更新されません(ウェブサイト自体は残しておきます)
このブログの内容に関してコメントしたい場合は、新ブログのフリースペースに書き込んでください

このブログの内容を新ブログに移行中です。このブログで見つからない記事は、新ブログにありま

django-reversionを使う

約1314日前 2017年2月15日3:18
プログラミング関連
Django Python
django-reversion
https://github.com/etianen/django-reversion
https://django-reversion.readthedocs.io/en/stable/
こちらを使い、モデルのバージョンコントロールを行います。

まずはインストール...

pip install django-reversion


settings.pyの、INSTALLED_APPSに、以下を足します。

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'reversion', # 追加
'app', # マイアプリ
]




python manage.py migrate


admin.pyを編集します。例えば、以下のようにします。

from django.contrib import admin
from reversion.admin import VersionAdmin
from .models import Message


admin.site.register(Message, VersionAdmin)


管理画面から適当にデータを追加し


そして、更新してみます。その後、右上の履歴を押すと


この画面に。日付部分がリンクになっているのでクリックすると...


前の状態が表示され、保存が可能になりますね。



この画面に戻ると、右上にRECOVER DELETED POSTSというボタンがあります。これは削除されたデータが見えます。


こちらも、日付クリックから復元ができます。


名無し 約351日前 2019年10月6日6:49
「この画面」がないの草