如何在模块安装上调用函数或执行代码(不更新)?那有特定的功能吗?
我想在模块安装上执行此代码:
all_countries = self.env['res.country'].search([])
for country in all_countries:
_logger.error(country.name)
Run Code Online (Sandbox Code Playgroud)
执行此操作的最佳方法是使用data文件.
noupdate="1"标志
创建数据文件function数据文件中的元素以触发相应的python方法您可以在此处查看文档以获取详细信息,但最终结果如下所示:
__openerp__.py
{
...
'data': [
...
'data/data.xml',
...
],
...
}
Run Code Online (Sandbox Code Playgroud)
/data/data.xml
<openerp>
<data noupdate="1">
<function model="res.country" name="method_name"/>
</data>
</openerp>
Run Code Online (Sandbox Code Playgroud)
/models/country.py
from openerp import models
import logging
_logger = logging.getLogger(__name__)
class ResCountry(models.Model):
_inherit = 'res.country'
@api.model
def method_name(self):
for country in self.search([]):
_logger.error(country.name)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1899 次 |
| 最近记录: |