我要解决的问题是防止循环引用不仅在直接父级和子级之间,而且我还想确保新的子级还没有被用作记录层次结构中某处的父级。
我想我可以通过在执行代码 self.parent = maybe_the_wrong_choice 之前拦截父级的分配来解决问题,然后在保存更改之前进行重要的验证。
我在正确的道路上吗?如果是这样,我如何在模型验证中获取属性的旧值(例如 self.old_parent)并在保存记录之前将其与新父级(self.parent)进行比较?
感谢期待!
我要解决的问题是防止循环引用不仅在直接父级和子级之间,而且我还想确保新的子级还没有被用作记录层次结构中某处的父级。
我想我可以通过在执行代码 self.parent = maybe_the_wrong_choice 之前拦截父级的分配来解决问题,然后在保存更改之前进行重要的验证。
我在正确的道路上吗?如果是这样,我如何在模型验证中获取属性的旧值(例如 self.old_parent)并在保存记录之前将其与新父级(self.parent)进行比较?
感谢期待!