'NoneType'对象没有属性'tttttt'

时间:2012-08-13 11:51:02

标签: python openerp

我的代码有问题。 itp>有什么问题

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

    def tttttt():
        return "testtt"

test() 

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

1 个答案:

答案 0 :(得分:0)

有趣的问题。经过一番挖掘,似乎OpenERP框架已经用对象创建机制做了一些奇怪的事情。对于BaseModel的类osv.osv和您的类的子类,__new__() method只是在池中注册该类并返回None

您可以通过稍微修改您的打印声明来确认这一点。

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

据我所知,OpenERP模型类无法在服务器进程外运行。如果您正在尝试编写单元测试或其他内容,则必须编写单独的帮助程序类并对其进行测试,或者使用YAML testing framework运行完整的集成测试。

有关测试辅助类的示例,请参阅我们的product_stockouts模块。 sim_*类是单元测试的助手,它们都由product_stockouts.py中的模型类调用。