MS SQL Serverには、計算された列を作成する機能があります。検索時にその場で計算される表の列です。この多かれ少なかれ、Djangoモデルのメソッドを使用して計算された値を取得する方法にマッピングされます(一般的な例は、保存されたForename/Surnameフィールドに基づいてフルネームを取得しています)。Djangoで永続的に計算されるフィールド
高価な操作の場合、SQL ServerにはPersisted
オプションが用意されています。これにより、テーブルの列に計算結果が入力され、テーブルが更新されたときにそれらの結果が更新されます。計算が高速ではなく、アクセスに比べて頻繁に変更されない場合は非常に便利です。
しかし、私はこの機能を複製する方法を見つけることができません。私は明白な何かを欠いていますか私の最高の推測は、パラメータとして関数を取るカスタムフィールドのいくつかの並べ替えが、私はそれらの既存のものを見ることができませんでした。より良い方法がありますか?
私は明らかに馬鹿です。これは問題を解決する素晴らしい方法です。私はそれを少し修正して、セーブ信号にフックします。私はフィールドを挿入と削除で再計算する必要があります(エントリの数に依存します)。しかし、はい、このアプローチは本質的に正しいです。 – James