問題タブ [django-reversion]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
353 参照

python - 外部キー モデル オブジェクトを削除した後、モデルがバージョンを作成しない (django-reversion)

私は2つのクラスを持っています:

ほとんどの場合、問題なく動作しています。たとえば、ContactInternal に変更を加えると、新しいバージョンが SysApp に作成されます。それがどのように機能するかにかなり満足しています。

ただし、 からリンクされているレコードを削除するとSysApp.internalcontact、SysApp のバージョンが作成されません。

実際に達成したいのは、SysApp の最終更新日のタイムスタンプと、どのユーザーによるものか (ロールバックする必要はありません) を取得することだけです。私は知りたいです

どうすればそれを行うことができdjango-reversionますか? または、これを達成する別の方法はありますか?

  • 注: SysApp には M2M という別のフィールドがあり、私も同じ結果を達成したいと考えています。
0 投票する
1 に答える
105 参照

django-reversion - ジャンゴの復帰とget__画面

私はこのようなモデルを持っています:

django-reversion を使用してユーザーの変更を追跡したい

デフォルトの例を使用した表示上の変更

戻る

しかし、私は次のような Choices 値を返したい:

0 投票する
1 に答える
300 参照

python - Django-Reversion: QuerySet データへのアクセス

Django-Reversion を使用してバージョン管理されているモデルがあります。ターミナル ウィンドウ内で、次を使用してモデル インスタンスの以前のバージョンのすべてにアクセスできます。

私がチェックするversionsと、それは以前のすべてのバージョンのセットです。ただし、ビューでこの同じ関数を呼び出してコンテキストに追加しようとすると、VersionQuerySet反復してデータを引き出す方法がわかりません。

助言がありますか?

0 投票する
0 に答える
80 参照

django - Django の復帰 - 古いモデルの子を持つ古いモデルを取得する (履歴オブジェクトを取得する)

オブジェクトの古いバージョンを取得し、そのモデルに属する古い子も取得しようとしています。ここに例を追加してみます。

そして、次のようなもので古いモデルを取得した後versions[1]

これは可能ですか?

上記の例はかなり単純化されています。実際には、古い親オブジェクトが存在したときのように、ネストされた子を持つ古い親オブジェクトを取得する必要があります。つまり、カウントだけでなく、オブジェクト全体です。

0 投票する
0 に答える
278 参照

python - リレーションシップ (django) を持つモデル全体でシャドウ編集 (またはリビジョン) を実装するにはどうすればよいですか?

これは django+postgresql ですが、答えは一般的な sql であるか、「Databases for Dummies」の本からのものである可能性があります。

相互に関連するいくつかのモデル (1 対 1、1 対多、および多対多フィールド) を持つデータベースがあります。ユーザーがデータベースをシャドー編集できるようにし、変更に満足した場合にのみ公開できるようにしたいと考えています。

単一のモデルの場合、django-reversions のようなものを使用でき、ハックな方法で手動で関係を処理できます。ただし、これにはいくつかの副作用があります。

  • django の制御下にないモデルは変更される可能性があり、データはすぐに更新されます (シャドウ コピーはありません)。
  • 外部関係が保存されているので、編集が多いとおかしくなる。
  • CRUD操作を「キャッチ」し、それらを公開またはドラフトエントリにルーティングする膨大な量の作業(特定のユーザーが編集している場合)
  • 公開時にリレーションのすべての pks を修正する必要があります (よりハックな態度)

私が本当に欲しいのは、これを行うものです:

  • 多数の REST CRUD 呼び出しで一度に多数の関連テーブルを編集し、「公開」後にのみ更新できるようにする
  • 以前のバージョンへのロールバックを許可する (バージョニング)

何か案は?