Odoo 如何处理数据库锁定?

How Does Odoo Handle Database Locking?

我知道 Odoo 不会同时更新 table 行。但是我的理解是两个人可以在编辑模式下同时查看同一条记录。当两个用户都保存时,记录将被最后保存的人覆盖(即使 1 毫秒后)。然而,这可能意味着用户正在根据在编辑完全相同的记录时实际上可能已更改的数据更新记录。

如何在 Odoo 中实施行级锁定?

如果其他人在编辑模式下打开了相同的记录,您如何限制在编辑模式下打开该记录?

Odoo 没有这样的功能。你可以自己写,但是会很复杂。

一般。您可以使用锁创建 table/model。 例如,当用户单击编辑按钮时,您可以在 Locks table 中创建锁,当另一个用户单击该文档上的编辑时,它将读取 table with locks。如果有锁,则弹出异常。

当创建锁的用户将保存更改或超时时,应释放锁,但等待轮到他的用户只能在重新加载页面后才能保存更改。

这是一个简单的概念,但总的来说做起来并不容易。

Odoo 本身并不意味着许多用户在一个共享文档上进行协作。有一些插件可以像笔记一样使用 etherpad。 您可以在必须同时在多个用户之间共享的模型的关键区域使用 etherpad。