3. 钩子的示例以post_init_hook为例,以下是一个简单的示例: 在__init__.py文件中定义钩子函数: 在__manifest__.py文件中注册钩子: 在这个示例中,add_book_hook函数将在模块安装后被调用,它创建了两本新书记录。通过这种方式,开发者可以在不修改核心代码的情况下为Odoo添加自定义功能。4. 注意事项确保钩子函...
def post_init_hook(cr, registry): env = Environment(cr, SUPERUSER_ID, {}) menu_id = env.ref('base.menu_native').id env.ref('account.menu_finance').write({'parent_id': menu_id}) uninstall_hook 在卸载模块之后,会执行对应的函数。 在manifest.py中添加: 'uninstall_hook': 'uninstall_h...
auto_install: 是否自动安装,设为True的应用将在数据库初始化时自动安装 pre_init_hook: 顾名思义,模块安装前的钩子,指定方法名即可 post_init_hook: 模块安装完成后的钩子 uninstall_hook: 模块卸载时的钩子 Tips:我们在书写python文件时,不用忘记在首部添加#-*- coding: utf-8 -*-以支持中文编码 3、创建...
2:在 manifest 中通过 hook 触发 'post_init_hook': '方法名',
步骤1,我们在manifest文件中添加post_init_hook:add_book_hook的键值。 步骤2,我们声明了add_book_hook()方法,该方法将在安装模块后调用。我们用这个方法创建了两个记录。在实际情况中,您可以在这里编写复杂的业务逻辑。 odoo中还有两种hooks方法: pre_init_hook: 当您开始安装模块时,将调用此钩子。它与post_ini...
hook变化,只有一个env参数 def post_init_hook(env) def pre_init_hook(env) def uninstall_hook(env) .py后台python开发文件 Fields定义:不再支持 states 处理只读与否,一般放到 xml 中处理特殊的只读属性 name_get: 改为 _compute_display_name
ℹ️preinit和postinit钩子分别使用pre_init_hook和post_init_hook键名在manifest.py文件中定义。这些钩子用于在插件模块的安装之前及之后触发Python函数。参见第四章 创建Odoo插件模块了解更多有关 init 钩子的知识。 插件升级 升级插件时,Odoo以给定的名称在可用的插件模块列表中检查已安装插件。它还会检查该插件的...
'pre_init_hook': 'test_pre_init_hook', 'post_init_hook': 'test_post_init_hook', 'uninstall_hook': 'test_uninstall_hook', 'post_load': 'test_post_load', }The strings in the value positions of the manifest proceeding the hook keys are the function names which is defined inside the...
'post_init_hook': 'post_init', } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. ...
hook变化,只有一个env参数 def post_init_hook(env) def pre_init_hook(env) def uninstall_hook(env) .py后台python开发文件 Fields定义:不再支持 states 处理只读与否,一般放到 xml 中处理特殊的只读属性 name_get: 改为 _compute_display_name