init函数odoo 8中的环境模型

时间:2016-07-07 18:59:46

标签: openerp

我有一点怀疑。我是odoo 8的新手。所以在我的模型中我使用self.env ['#model']来访问特定的模型。现在我在我的模型中有大约10个不同的函数,在每个模型中我使用模型env引用其他两个模型。下面是代码:

def test(self):
     location = self.env['stock.location']
     # i get values from database models

def test1(self):
     location = self.env['stock.location']
     # i get values from database models

现在我在两个不同的功能中需要相同的环境。 是否有类似__init__函数的方法,它将初始化模型对象,我们可以在所有函数中使用它。

谢谢,

1 个答案:

答案 0 :(得分:0)

当然,您只需将self设置为类的属性,就像这样

def test(self):
     self.location_obj = self.env['stock.location']
     # i get values from database models

def test1(self):
     # You can use self.location in this method and other methods
     self.location_obj.search([('id', '=', 1)])

从现在开始,您可以在课堂上的任何方法中访问self.location(静态方法除外。但您不需要)