我对该代码有疑问。它有什么问题?
class test(osv.osv):
_name = "test"
_description = "uuuu"
def tttttt():
return "testtt"
test()
instance = test()
print (instance.tttttt())
有趣的问题。经过一番挖掘,似乎OpenERP框架对对象创建机制做了一些奇怪的事情。对于BaseModel
likeosv.osv
和您的类的子类,该__new__()
方法只是在池中注册该类并返回None
.
您可以通过稍微修改您的打印声明来确认这一点。
instance = test()
print instance is None # will print True.
据我所知,OpenERP 模型类不能在服务器进程之外运行。如果您正在尝试编写单元测试或其他东西,您要么必须编写单独的帮助程序类并对其进行测试,要么使用YAML 测试框架运行全面的集成测试。
有关测试助手类的示例,请参阅我们的product_stockouts
模块。这些sim_*
类是单元测试的助手,它们都被product_stockouts.py
.