我们在通过直接SQL查询访问ORM创建的记录时遇到问题,因为它似乎在DB中找不到这些创建的记录。
我的问题是Odoo ORM多久向Postgres DB提交一次更改?
下面是Odoo 14中的原始SQL查询示例:
self.env.cr.execute("""
UPDATE res_users SET active = 'False' WHERE id = 121;
""")
self.env.cr.commit()
请确保您正在将更改提交到数据库中。
我在Odoo论坛上搜索并找到了一个anwser:
Odoo通过调用cr.commit()
,自动提交您在事务结束时所做的更改。
尽管您可以调用:cr.commit()
,但不建议这样做,除非您明确创建了自己的数据库游标!你需要这样做的情况是特殊的!你需要处理错误情况和正确的回滚,以及在完成后正确地关闭光标
从不提交交易