gpt4 book ai didi

python - 我们可以在自定义模块中调用 Odoo 的预安装/安装后 Hook 吗?

转载 作者:行者123 更新时间:2023-11-28 18:27:24 25 4
gpt4 key购买 nike

我正在尝试编写一个需要调用某种形式的自定义 Odoo 模块PRE-installationPOST-installation 函数/hook 的流浪,你们有没有这方面的知识可以与我分享如何去做?

过程示例:例如在安装过程中,当用户点击安装自定义模块时,它会调用预安装 Hook 并进行一些初始化、文件复制或其他操作,一旦完成,我们就可以捕获 Odoo 的返回安装过程并运行安装后 Hook 。并且在模块安装/升级期间只会执行一次。

感谢分享此安装前/安装后代码应在我的模块代码中的什么位置?

谢谢卡门

最佳答案

你只需要在你的模块中添加一个 hooks.py 文件。然后在你的 __openerp__.py 文件中添加你想要执行的钩子(Hook):

"post_init_hook": "post_init_hook",
"pre_init_hook": "pre_init_hook",

然后在文件中写入更新记录的方法,可以使用ormexecute查询,例如:

def pre_init_hook(cr, registry):
cr.execute('ALTER TABLE res_partner'
'ADD COLUMN new_column character varying;')
cr.execute('UPDATE new_column'
'SET new_column = phone;')
# in the installation the column phone is dropped

def post_init_hook(cr, registry):
partners = env['res.partner'].search([])
for partner in partners:
if partner.new_column:
#do something
cr.execute('select new_column from res_partner')

关于python - 我们可以在自定义模块中调用 Odoo 的预安装/安装后 Hook 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40371523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com