本文共 261 字,大约阅读时间需要 1 分钟。
问题出现场景:
项目中,对象A 中有多个related 的one2many字段,这几个字段是 同一个对象B的字段。
编辑对象A 中这个几个related 过来的one2many字段(编辑项,删除项,添加项等),结果出现删除不成功!
问题原因:保存时,要保存的第一个one2many的字段回写B对象时,会清空cache, 导致保存第二个one2many字段再去回写对象B的时候,用的保存值不对了。
解决:修改ORM里面的写操作,每次回写对象时,恢复缓存
影响:每个字段一一恢复缓存,回写,可能存在效率问题,但是暂时感觉不出来