問題タブ [django-simple-history]
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.
django - django-simple-history の history_list_display で外部キーを参照する方法は?
django のモデルに HistoricalRecords を追加しました。
history_list_display
属性を使用して、管理パネルの履歴ページに列を表示できました。
employee
これらの列には、history_list_display
属性タプルを使用して表示できる従業員がいます。employee__person__person_name
しかし、他のテーブルを使用してForeignKey参照を行おうとすると、表示されNone
ます。
django adminの履歴ページにForeignKey参照値を表示するにはどうすればよいですか?
django - save をオーバーライドして django-simple-history の F 式の問題を回避する
Django-simple-history は、ターゲット モデルの保存ごとに新しいレコードを挿入しています。docsでは、F 式の問題が説明されています。上書きされた保存方法でこれを回避しようとします。
しかし、これは機能していないようです。ベース モデルのシグナルは、呼び出しpost_save
の直後に呼び出されsuper().save()
ますか? もしそうなら、ターゲットモデルの更新でF式を維持するこの問題を解決する方法はありますか?
更新: 保存されたインスタンスには、F 式を使用して定義された属性の 1 つがあるため、このコードは他のモジュールで呼び出されます。
これにより、履歴テーブルpost_save
に の拡張コピーを挿入しようとすると、django-simple-history のシグナルでエラーがスローされます。実際の値が読み込まれるようにinstance
、オーバーライドされたsave
メソッドでインスタンスを更新して F 式を削除しようとしました。some_attribute
トレースバックから、呼び出しのpost_save
直後super().save()
、リフレッシュの前に が呼び出されたようです。オーバーライドされた保存が機能するDjango post_saveの方法はありますか? もしそうなら、更新コードを変更せず (F 式で更新を残す)、モデルの保存で挿入された履歴を解決する方法はありますか?
django - 簡単な履歴で post_delete シグナルを切断する方法はありますか?
クエリセットで削除された各オブジェクトの履歴レコードを一括作成する必要があります。私はそれを正しくコーディングしました。次のように思います。
問題は、post_delete シグナルを切断して、一度にすべてを実行する前に単純な履歴によって履歴レコードが作成されないようにする必要があることです。
私はこれを試しましたが、うまくいきません。
Customer
このユーティリティ関数をテストするために使用しているクラスはどこにありますか。
誰でもアドバイスできますか?前もって感謝します。
彼らのgithubページでも質問をしました - https://github.com/jazzband/django-simple-history/issues/717
django - ジャンゴの単純な履歴フィールドのインデックス作成
特定のフィールドにインデックスを付けるように DSH に指示するにはどうすればよいですか? 履歴モデルに対して実行する一部のクエリには時間がかかりすぎます
基本抽象モデルがあり、すべてのモデルはそのモデルを継承しています。history フィールドもこの基本モデルで定義されています。
また、この基本モデルにインデックスも追加しました
Django Simple History がどのフィールドにインデックスが作成されているかを確認し、履歴モデルに同じインデックスを作成できるとよいでしょう。
たぶん、追加でインデックスを作成する必要があるフィールドをdjangoの単純な履歴に明示的に伝える方法がありますか?