-2

そのコードに問題があります。何が悪いの?

class test(osv.osv):
    _name = "test"    
    _description = "uuuu"    

    def tttttt():
        return "testtt"

test() 

instance = test()
print (instance.tttttt())
4

1 に答える 1

0

興味深い質問です。掘り下げた後、OpenERP フレームワークはオブジェクト作成メカニズムで奇妙なことを行ったようです。BaseModellikeosv.osvおよび your クラスのサブクラスの場合、__new__()メソッドはそのクラスをプールに登録し、 を返しますNone

これは、print ステートメントを少し変更することで確認できます。

instance = test()
print instance is None # will print True.

私の知る限り、OpenERP モデル クラスはサーバー プロセスの外では実行できません。単体テストなどを作成しようとしている場合は、別のヘルパー クラスを作成してテストするか、YAML テスト フレームワークで本格的な統合テストを実行する必要があります。

ヘルパー クラスのテストの例については、product_stockoutsモジュールを参照してください。sim_*クラスは単体テストのヘルパーであり、それらはすべて のモデル クラスによって呼び出されますproduct_stockouts.py

于 2012-08-23T21:04:33.293 に答える