我想再次检查一下我是否正确解释了django-treebeard文档的以下部分:
django-treebeard使用Django原始SQL查询进行某些写操作,并且由于被忽略,原始查询不会更新ORM中的对象。
因此,如果内存中有一个节点并计划在修改树(添加/删除/移动节点)后使用它,则需要重新加载它。
这是我的理解:
如果我已经从数据库中加载了一个节点并正在内存中对其进行处理,则在保存之前必须使用refresh_from_db()。另外,如果在refresh_from_db和save之间修改了树,我应该将这两个调用包装在原子事务中。
这正确吗?