使用服务器操作运行python代码时出错
我正在使用odoo开发一个应用程序,其中包括将大量数据导入数据库。 这个过程很简单,我创建了一个只包含char变量的对象,这样它们就可以等于所有变量,然后我从excel模板中读取每一行,每一行都会创建一个新的记录。 现在,我想在加载所有excel行时运行一个服务器操作,这样我可以处理每个数据,分配变量,并使用我创建的另一个对象为每个列选择变量类型。 问题是使用服务器操作。加载excel文件后,您可以运行一段代码,其中包含此行使用服务器操作运行python代码时出错,python,openerp,action,odoo-9,Python,Openerp,Action,Odoo 9,我正在使用odoo开发一个应用程序,其中包括将大量数据导入数据库。 这个过程很简单,我创建了一个只包含char变量的对象,这样它们就可以等于所有变量,然后我从excel模板中读取每一行,每一行都会创建一个新的记录。 现在,我想在加载所有excel行时运行一个服务器操作,这样我可以处理每个数据,分配变量,并使用我创建的另一个对象为每个列选择变量类型。 问题是使用服务器操作。加载excel文件后,您可以运行一段代码,其中包含此行对象。导入\u pricelist()但是对象,它应该是我的模型的参考,
对象。导入\u pricelist()
但是对象,它应该是我的模型的参考,它是非类型的,没有方法导入\u pricelist
服务器操作定义
<record id="action_python_import" model="ir.actions.server">
<field name="name">Import PriceList</field>
<field name="model_id" ref="model_product_raw"/>
<field name="condition">True</field>
<field name="type">ir.actions.server</field>
<field name="state">code</field>
<field name="code">object.import_pricelist()</field>
</record>
self
应该是对模型的引用,object是对active\u id
的引用(如果上下文中提供)。
如果您试图运行的方法未连接到模型的任何特定对象(如果我理解正确,您希望创建对象),则应使用@api.model
装饰器而不是@api.multi
,使用self而不是对象,如下所示:
<field name="code">self.import_pricelist()</field>
self.import\u pricelist()
如果我帮忙,请告诉我
<field name="code">self.import_pricelist()</field>