Проверка модификаций дерева в django-treebeard ORM перед сохранением
Я хочу перепроверить, правильно ли я интерпретирую следующий раздел документации django-treebeard:
django-treebeard использует необработанные SQL-запросы Django для некоторых операций записи, а необработанные запросы не обновляют объекты в ORM, так как его обходят.
По этой причине, если у вас есть узел в памяти и вы планируете использовать его после модификации дерева (добавление / удаление / перемещение узлов), вам необходимо перезагрузить его.
Вот мое понимание:
Если я загрузил узел из базы данных и работаю над ним в памяти, я должен использовать refresh_from_db() перед сохранением. Кроме того, в случае, если дерево изменяется между refresh_from_db и save, я должен заключить два вызова в атомарную транзакцию.
Это правильно?