我有一个结构如下的父子关系的数据模型:
Container
Metric
Value
这些模型中的每一个都有一个“状态”字段,但只有 Value 模型允许在该字段上输入;其他模型的 ComputedProperty 会根据其祖先值模型中的“状态”字段而变化。就目前而言,当直接读取模型时(就像@property 行为一样),我会在父级上获得当前结果,但是当模型是查询的一部分时,结果会过时。
所以当子模型的状态更新时,我需要更新父模型的“状态”字段。我知道我可以_post_put_hook()
在 Value 模型中添加一个,并且put()
只要它更新就只添加所有的父母,但这似乎很昂贵。
- 有没有办法让父母“看”孩子?
- 在“状态”属性上查询父母是否有更便宜的解决方法?(所以我不必使用 ComputedProperty)
- 我使用的模型太多了吗?我是否应该将它们作为 StructuredProperties 混合在一起,以便一个 put() 放置所有内容?(虽然我也遇到了问题,在孩子之前更新父母的状态)
- 还有什么我想念的吗?