0
テーブルの1つ(例:イベントテーブル)が開始日の時間範囲を表すリレーショナルDB構造を構築しています。DB(特にPostgreSQLとDjango ORM)の唯一の読み取り専用フィールド
このテーブルは変更することができる次のフィールドがいます
- event.start_date:日時
- event.duration:はtimedelta
END_DATEすることができます計算を行う:
end_date = event.start_date + event.duration
このテーブルから要素を取得し、end_dateプロパティを頻繁に使用するコードがあります。
それがREAD_ONLYであるように、テーブル内のどこかに保存する方法はありますし、event.start_dateまたはevent.durationが変更された場合、それは更新されていること。
アイデアは、一貫して冗長でないDBを有することであるが、「得られた」値(例えば、END_DATE)への高速アクセス 。
ケーキもevent.end_dateフィールドを有するとされるのアイシング:
- event.durationが更新された場合には、event.end_dateが更新されます。
- event.end_dateが更新された場合、event.durationが自動的に更新されます。