调用 python 对象 - odoo 9
Call python object - odoo 9
在 python console(jupyter) 中,我使用 python 形式的库:
class SomeClass(object)
def __init__(self, arg1, arg2):
...
def fct1(self):
...
return something
我创建一个对象没问题:
x = SomeClass(arg1,arg2)
我想在 Odoo 中使用这些方法。
我尝试了以下方法:
class SomeClass(**models.Model**)
def **connect**(self, arg1, arg2):
...
def fct1(self):
...
return something
将 "object" 替换为 "model,Models" 以将其作为 odoo class + 将 init 重命名为方法名称。
但是
x = connect(arg1,arg2)
returns :
NameError: 全局名称 'connect' 未定义
如何在 Odoo(新 API)中使用我的 python 库?
TIA
更新:
我也试过打电话
x= self.connect(arg1,arg2) or
x=SomeClass.connect(arg1,arg2)
但它 return "None" 当我 "print x"。我认为没有创建实例
感谢 zbik 的回答:
myclass.py 文件夹 myaddons
class MyClass:
def __init__(self, name):
self.name = name
def _test(self,a,b):
return a+b
在其他 Odoo 中 class:
from openerp.addons.myaddons.myclass import MyClass
...
x = MyClass('Hello')
y = x._test(2,3)
...
print x.name
> Hello
print y
> 5
在 python console(jupyter) 中,我使用 python 形式的库:
class SomeClass(object)
def __init__(self, arg1, arg2):
...
def fct1(self):
...
return something
我创建一个对象没问题:
x = SomeClass(arg1,arg2)
我想在 Odoo 中使用这些方法。 我尝试了以下方法:
class SomeClass(**models.Model**)
def **connect**(self, arg1, arg2):
...
def fct1(self):
...
return something
将 "object" 替换为 "model,Models" 以将其作为 odoo class + 将 init 重命名为方法名称。
但是
x = connect(arg1,arg2)
returns :
NameError: 全局名称 'connect' 未定义
如何在 Odoo(新 API)中使用我的 python 库?
TIA
更新:
我也试过打电话
x= self.connect(arg1,arg2) or x=SomeClass.connect(arg1,arg2)
但它 return "None" 当我 "print x"。我认为没有创建实例
感谢 zbik 的回答:
myclass.py 文件夹 myaddons
class MyClass:
def __init__(self, name):
self.name = name
def _test(self,a,b):
return a+b
在其他 Odoo 中 class:
from openerp.addons.myaddons.myclass import MyClass
...
x = MyClass('Hello')
y = x._test(2,3)
...
print x.name
> Hello
print y
> 5