我想在XML中继承表单视图以设置不可见的某些字段,但有时我不会安装该模块。
怎么解决这个?
您可以将此代码添加到要修改的视图的模型中:
@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?',
)
这样你就会有一个字段来指示你是否安装了模块。
您还可以借助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查询中得到“安装”结果,则意味着我们的模块安装在我们的数据库中。