基于模型odoo 15隐藏字段

hide field based on model odoo 15

我有一个 'school' 模块可以与学生和老师一起工作。

我有一个向导,它有一个 many2one 字段,我想根据我们所处的当前模型隐藏它。

即:我们站在模型'school.teachers'上,那么我们会隐藏这个字段,当我们站在模型'school.students'上时,我们会显示它。

型号:

teacher_id = fields.Many2one('school.teachers', string='Teachers', required=True)

查看:

<field name="teacher_id"/>

完整代码如下:
https://github.com/saxsax1995/odoo-15-school/blob/master/school/wizard/create_calendar_wizard.py
https://github.com/saxsax1995/odoo-15-school/blob/master/school/wizard/create_calendar_wizard_view.xml

请帮忙,谢谢。

您可以根据 context 值设置 invisible 属性。

上下文中传递了当前模型(active_model):

<field name="student_id" invisible="context.get('active_model')!='school.students'"/>