2016-11-25 124 views
0

在蟒蛇控制檯(jupyter)我使用Python庫形式:調用Python對象 - odoo 9

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 

更換「對象」和「模型,模型」將它作爲一個odoo類+重命名INIT用的方法的名稱。

x = connect(arg1,arg2) 

回報:

NameError:全局名稱 '連接' 沒有定義

如何,我會用我的Python庫Odoo(新API)?

TIA

UPDATE:

我也打過電話

x= self.connect(arg1,arg2) or x=SomeClass.connect(arg1,arg2)

但它返回 「無」,當我 「打印X」。我認爲,一個實例不會創建

+0

,如果你想:在文件夾中myaddons

class MyClass: def __init__(self, name): self.name = name def _test(self,a,b): return a+b 

其他Odoo類

myclass.py名稱是**連接**你應該使用類名稱**連接**和'__init__'是一個構造函數 –

+0

tnx rply。恐怕我不明白你的答案。我更新了我的問題,也許它更清晰。 – ygol

回答

0

謝謝zbik的答案:

from openerp.addons.myaddons.myclass import MyClass 
... 
x = MyClass('Hello') 
y = x._test(2,3) 
... 
print x.name 
> Hello 
print y 
> 5