2017-01-13 6 views
1

データベースのオブジェクトの変更履歴を保存するために、私はdjango-reversionを使い始めました。django-reversionで削除されたレコードに関するデータを保存するには?

しかし、レコードをデータベースから削除すると、テーブルの変更履歴のレコードが表示されません。

何が問題なのですか?

ドキュメントに何も見つかりませんでした。このライブラリは、削除されたデータの履歴を保存しますか?

+0

[docs](https://django-reversion.readthedocs.io/en/stable/)には、「削除されたモデルインスタンスを回復する」ことができるライブラリの機能がリストされています。どのようにライブラリを使用していますか?ミドルウェアを有効にしましたか、独自のコードからAPIへの呼び出しを行っていますか?あなたの質問にいくつかの情報を追加してください。 – Tony

+0

@Tony私はミドルウェアを組み込み、アノテーション@ reversion.register()をモデルに入れました。データベース内のレコードを変更すると、データはreversion_revisionおよびreversion_versionテーブルに格納されます。レコードを削除すると、テーブルreversion_revisionとreversion_versionが失われます。削除されたレコードが復元される場所 – regen

答えて

0

django-reversionを使用していない私は、プロジェクトをセットアップしてインストールしました。単純なモデルを作成してinitial revisionを作成した後、いくつかのモデルインスタンスを追加してから削除しました。

マイモデルテーブルのみお知らせid 2が欠落している

model table

現在のデータが含まれ、これが削除された行です。

reversion_revision表は、モデルが

reversion_revision table

を添加した場合についての情報を含み、reversion_versionテーブルは、JSONデータを管理画面上のオブジェクト

reversion_version

ありを表す含ま削除されたモデルを復元するボタン、それをクリックすると、削除された行を示す画面に移動します

deleted row

だから、レコードを「削除」は具体的には存在しないと思われる復帰テーブルやモデルテーブル間の比較が行われ、それが削除されたモデルうまくいくさではなく、続けました。

関連する問題