Проверка модификаций дерева в django-treebeard ORM перед сохранением

Я хочу перепроверить, правильно ли я интерпретирую следующий раздел документации django-treebeard:

django-treebeard использует необработанные SQL-запросы Django для некоторых операций записи, а необработанные запросы не обновляют объекты в ORM, так как его обходят.

По этой причине, если у вас есть узел в памяти и вы планируете использовать его после модификации дерева (добавление / удаление / перемещение узлов), вам необходимо перезагрузить его.

Вот мое понимание:

Если я загрузил узел из базы данных и работаю над ним в памяти, я должен использовать refresh_from_db() перед сохранением. Кроме того, в случае, если дерево изменяется между refresh_from_db и save, я должен заключить два вызова в атомарную транзакцию.

Это правильно?

0 ответов

Другие вопросы по тегам