次のように構造化された親子関係を持つデータモデルがあります。
Container
Metric
Value
これらの各モデルには「ステータス」フィールドがありますが、値モデルのみがそのフィールドに入力できます。他のモデルには、祖先の値モデルの「ステータス」フィールドに基づいて変化する ComputedProperty があります。現状では、モデルが直接読み取られると (@property の動作と同様に) 親で現在の結果が得られますが、モデルがクエリの一部である場合は古い結果が得られます。
したがって、子モデルのステータスが更新されたときに、親モデルの「ステータス」フィールドを更新する必要があります。_post_put_hook()
更新されるたびに、値モデルとすべての親だけを入れることができることはわかってput()
いますが、それは高価に思えます。
- 両親に子供たちを「見て」もらう方法はありますか?
- 「ステータス」プロパティで親をクエリするための安価な回避策はありますか? (そのため、ComputedProperty を使用する必要はありません)
- 使用しているモデルが多すぎますか? 1 つの put() がすべてを配置するように、StructuredProperties としてそれらをマッシュアップする必要がありますか? (ただし、子供の前に親のステータスを更新することにも問題がありました)
- 私が見逃しているものは他にありますか?