Openerp 如何使用相关字段设置多个一个对象的属性?
我是python和odoo的新手。我正在开发一个自定义模块来实现一所学校的学生申请。我的主要目标是收集应用程序数据。我有三种型号Openerp 如何使用相关字段设置多个一个对象的属性?,openerp,odoo-9,Openerp,Odoo 9,我是python和odoo的新手。我正在开发一个自定义模块来实现一所学校的学生申请。我的主要目标是收集应用程序数据。我有三种型号 class ApApplicationsModel(models.Model): _name = 'ap.applications.model' class ApPrevSchoolModel(models.Model): _name = 'ap.prevschool.model' class ApPersonModel(mode
class ApApplicationsModel(models.Model):
_name = 'ap.applications.model'
class ApPrevSchoolModel(models.Model):
_name = 'ap.prevschool.model'
class ApPersonModel(models.Model):
_name = 'ap.person.model'
_inherit = 'op.student'
ApPersonModel将用于存储学生、家长和监护人的详细信息。为此,我有一个不可见的选择属性ap_persontype
中定义了3个多21链接
ap_father_id = fields.Many2one('ap.person.model','Father Details', readonly=False,related='ap_prevschool_model.ap_name', store=True)
ap_mother_id = fields.Many2one('ap.person.model','Mother Details', readonly=False)
ap_student_id = fields.Many2one('ap.person.model','Student Details')
我有一块地
ap_persontype = fields.Selection(
[('student','Student'),('parent','Parent'),('grd','Guardian')], 'Person Type',default='student', track_visibility='onchange')
在ap.person.model中
我想在启动表单视图以显示和隐藏某些字段时,将人员类型设置为“学生”、“家长”或“监护人”
我该怎么做
这样处理可能不是一个好的oo实践。那么我该如何实现它呢?我不知道您到底想要实现什么,但我猜您希望根据某种条件(在本例中为人员类型)隐藏或显示某些字段。 因此,您要做的是使所有字段的属性值都是您要隐藏或显示的,然后它将自动隐藏或显示。 小型示例:
<field name="student_age" attrs="{'invisible': [('ap_persontype'),'not in',['parent','grd']]}"/>
我希望这对你有帮助。- 请对此逻辑仅使用一个模块,无需使用多个模型并尝试以下代码:
- 如果ap_persontype=Student,则其他字段不可见。另一个字段的逻辑相同。
这里是我的代码逻辑