で警告とUserErrorの違いは何ですか。それは、それがOdoo上で処理されるまで呼び出しスタックを伝搬します。 Webクライアントによって行われた呼び出しに応答するRPCレイヤーはすべての例外をキャッチし、例外クラスに応じて、Webクライアント上で異なる可能性のある動作をトリガーします。
UserErrorは、odoo.exceptionsクラスで定義されているユーザーインターフェイスにエラーメッセージを表示します。レシピのコードは、OSError〜UserErrorを変更して、メッセージが友好的に表示されるようにします。いずれの場合も、現在のデータベーストランザクションはロールバックされます。 Odoo 9と10では、UserErrorを使用してエラーメッセージを表示します。
警告:Odoo 8 openerp.exception.Warningで9と10にUserErrorの役割を果たした名前は欺瞞だったので、その非推奨(それはエラー警告ではありません)、それは組み込みの警告のpythonと衝突クラスは、それが下位互換性のために維持され、我々はそれが唯一のユーザーとロールバックしませんトランザクションに警告メッセージを示し、その意味警告を返しながら、あなたはあなたのケースでodoo 9でUserErrorと10
を使用する必要があります。