问题出现场景:
项目中,对象A 中有多个related 的one2many字段,这几个字段是 同一个对象B的字段。
编辑对象A 中这个几个related 过来的one2many字段(编辑项,删除项,添加项等),结果出现删除不成功!
问题原因:保存时,要保存的第一个one2many的字段回写B对象时,会清空cache, 导致保存第二个one2many字段再去回写对象B的时候,用的保存值不对了。
解决:修改ORM里面的写操作,每次回写对象时,恢复缓存
影响:每个字段一一恢复缓存,回写,可能存在效率问题,但是暂时感觉不出来
本文探讨了一个关于对象A中多个One2Many字段指向同一对象B时出现的删除失败问题。原因是第一个One2Many字段在保存时清空了缓存,导致后续字段保存时使用了错误的值。解决方案是对每次保存的对象恢复缓存。

被折叠的 条评论
为什么被折叠?



