Odoo文档中的odooapi.model是什么“model.env”?

Odoo文档中的odooapi.model是什么“model.env”?,odoo,odoo-10,Odoo,Odoo 10,我正在尝试定义一个方法@api.model: @api.model def测试(参数1、参数2): 打印model.env['product.template'].search([(“公司id”,“=”,参数1),(“仓库id”,“=”,参数2),])) 问题是,声明您可以使用model.env,但当我尝试这样做时,我得到: NameError: global name 'model' is not defined 要获得可用的模型,哪个是正确的导入。模型的意思是需要一个模型对象(空记录集)

我正在尝试定义一个方法
@api.model

@api.model
def测试(参数1、参数2):
打印model.env['product.template'].search([(“公司id”,“=”,参数1),(“仓库id”,“=”,参数2),]))
问题是,声明您可以使用
model.env
,但当我尝试这样做时,我得到:

NameError: global name 'model' is not defined

要获得可用的
模型
,哪个是正确的
导入

模型的意思是需要一个模型对象(空记录集)才能访问
环境
。在新的API中,
self
将是一个记录集,因此您可以通过
self.env
访问环境:

@api.model
def测试(自身、参数1、参数2):
打印self.env['product.template'].search([(“公司id”,“参数=”,参数1),(“仓库id”,“参数=”,参数2),]))
请注意,应该在上定义方法(在代码段中,
test
方法签名缺少
self
参数)


另一方面,您提供的链接不是来自官方文档,而且已经过时了-它是在OpenERP 7.0和Odoo 8.0之间从旧API到新API的初始迁移期间编写的,因此它不是最好的源代码。我建议参考上提供的官方文档。

所谓的
模型
是指您需要一个模型对象(空记录集)才能访问
env
。在新的API中,
self
将是一个记录集,因此您可以通过
self.env
访问环境:

@api.model
def测试(自身、参数1、参数2):
打印self.env['product.template'].search([(“公司id”,“参数=”,参数1),(“仓库id”,“参数=”,参数2),]))
请注意,应该在上定义方法(在代码段中,
test
方法签名缺少
self
参数)


另一方面,您提供的链接不是来自官方文档,而且已经过时了-它是在OpenERP 7.0和Odoo 8.0之间从旧API到新API的初始迁移期间编写的,因此它不是最好的源代码。我建议参考。

上的官方文档,如何获取给定型号的空记录集?我正在从XMLRPC调用一个自定义的
@api.model
方法,因此,我没有
self
,因为没有像
read
方法那样的特定记录集。如何为给定的模型获取空记录集?我正在从XMLRPC调用一个自定义的
@api.model
方法,因此,我没有
self
,因为没有像
read
方法那样的特定记录集。