Odoo警告 - 缺少记录记录不存在或已被删除。在创造新客户的同时

时间:2016-06-30 06:26:01

标签: odoo-9

Here is the screenshot of the warning which is apperaing while creating customers

我无法在odoo中创建新客户。 最初我在我的模块中做了一些自定义......在自定义之后我的代码工作得非常正确,我也创建了新客户......但是在我不知道为什么我无法创建新客户之后...... 请给我一些解决方案。 谢谢

2 个答案:

答案 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

然后安装,查看错误是否消失,然后关闭服务器并再次翻转注释