【问题标题】:odoo 9 how to inherit many2one field value from parent viewodoo 9 如何从父视图继承 many2one 字段值
【发布时间】:2017-08-24 09:36:53
【问题描述】:

我有与实验室测试模型相关的医院预约挂号模型:

'lab_test_ids': fields.one2many('oeh.medical.lab.test','apoointment','Lab Tests', readonly=False,states={'Completed': [('readonly', True)]}),

在视图中我在约会表格下有一个TAB(页面):

page string="Lab Tests"> <field name="lab_test_ids" context="{'default_appointment': active_id}" domain="[('appointment', '=', active_id)">

我的挑战是我在与其他两个模型相关的两个视图(选择字段)中都有患者和医生。我想知道是否可以在父视图中为患者字段设置值并将该值继承到子视图(实验室测试)。我怎样才能做到这一点?

现在我使用域来过滤患者。而候选患者只有一个。如何自动将此值设置为字段。

> <field name="patient" domain="[('id', '=', parent.patient)]"

感谢您的帮助。

【问题讨论】:

    标签: openerp odoo-9 odoo-view


    【解决方案1】:

    我不确定我是否 100% 完全理解这个问题,但您只有几个选项来处理在视图之间复制字段数据的场景。

    1。 Onchange 字段。如果它们在同一个视图上,则创建一个 onchange。 (不要相信这对你有用。)

    lab_test = fields.One2many(...)
    
    @api.onchange('lab_test')
    def _onchange_set_lab_test(self):
        self.other_field = self.lab_test
    

    2。 相关领域。如果子项属于同一类型,则将其设置为相关字段:

    child = fields.One2many(related='lab_test')
    

    3。 计算场。将孩子设置为计算字段,并提取您需要的任何信息。

    child = fields.One2many(compute='_compute_child_field')
    

    【讨论】: