Odoo:如何检查模块是否已安装?

问题描述 投票:0回答:2

我想在XML中继承表单视图以设置不可见的某些字段,但有时我不会安装该模块。

怎么解决这个?

python python-2.7 openerp odoo-9 odoo-10
2个回答
0
投票

您可以将此代码添加到要修改的视图的模型中:

@api.depends()
def _compute_module_x_installed(self):
    for record in self:
        module = self.env['ir.module.module'].search([
            ('name', '=', 'the_module_name')
        ])
        if module and module.state == 'installed':
            record.update({
                'module_x_installed': True,
            })

module_x_installed = fields.Boolean(
    compute='_compute_module_x_installed',
    string='Is X installed?',
)

这样你就会有一个字段来指示你是否安装了模块。


0
投票

您还可以借助ir_module_module数据库表来实现模块的当前状态。

ir.module.module模型Odoo创建一个名为ir_module_module的新数据库表,我们可以使用Pgadmin Tools通过SQL Query搜索模块的状态

select state from ir_module_module where name='Your_module_name(technical_name)';

如果我们在out查询中得到“安装”结果,则意味着我们的模块安装在我们的数据库中。

© www.soinside.com 2019 - 2024. All rights reserved.