Here is the screenshot of the warning which is apperaing while creating customers
我无法在odoo中创建新客户。 最初我在我的模块中做了一些自定义......在自定义之后我的代码工作得非常正确,我也创建了新客户......但是在我不知道为什么我无法创建新客户之后...... 请给我一些解决方案。 谢谢
答案 0 :(得分:0)
我在Odoo 10中遇到了与定制模块相关的类似问题。我做了一些非常彻底的研究,并且Odoo ORM正在做一些它可能不应该做的事情而且我是不够聪明才能理清。
Odoo 10 ORM API Documentation中有关创建模型和字段的部分很有帮助,但ORM上的文档严重缺乏,在某些情况下也不正确。
我最终通过使用模型自定义方法中提供的self.env.cr
psycopg2 cursor手动插入来修复它。
这看起来像
from odoo import models
class your_class(models.Model):
def custom_create_method(self):
self.env.cr.execute("""
INSERT INTO customer_model_name
(name, value, other_value)
VALUES
('{}', '{}', '{}')
RETURNING id;
""")
new_id = self.env.cr.fetchone()
这样做的缺点是会在代码中引入SQL注入攻击的可能性,因此您需要注意这一点。
这绝对不是理想的解决方案,但确实有效。我认为这个问题与Odoo ORM对计算字段的处理有关,但这只是一个没有真正全部教育的猜测。
希望这会有所帮助。
答案 1 :(得分:0)
由于某种原因,我们找到了一种模式,其中我们必须注释掉一个依赖项,重新安装/更新有问题的模块,然后再放回去。在这种情况下,它是自定义模块{ {1}}
即:
res
成为:
__manifest__.py
然后安装,查看错误是否消失,然后关闭服务器并再次翻转注释