2016-06-30 3 views
4

Here is the screenshot of the warning which is apperaing while creating customersOdoo警告 - レコードレコードが存在しないか、または削除されています。新しい顧客を作成中

私はodooで新しい顧客を作成することができません。 当初私は自分のモジュールでいくつかのカスタマイズを行っていました...そのカスタマイズの後、私のコードはまったく正しく機能しました。新しい顧客も作成しました。しかし、なぜ新しい顧客を作成できないのか分かりません... 私はいくつかの解決策。 ありがとう

+0

問題解決のための解決策を見つけましたか? – Cherif

答えて

0

私はOdoo 10のカスタマイズされたモジュールに関連した同様の問題を抱えていました。私はかなり徹底的な研究を行い、Odoo ORMはおそらくそうではないはずのものをやっています。整理するのに十分です。

Odoo 10 ORM API Documentationのモデルとフィールドの作成に関するセクションは役に立ちましたが、ORMに関するドキュメントは厳しくなく、場合によっては間違っています。

モデルのカスタムメソッドで利用可能なself.env.crpsycopg2 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の計算フィールドの処理に関連していると信じていますが、これは実際に起こっていることではありません。

これが役に立ちます。

関連する問題