odoo 9如何从父视图继承many2one字段值

时间:2017-08-24 09:36:53

标签: openerp odoo-9 odoo-view

我有与实验室测试模型有关的医院预约登记模型:

'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)]"

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

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

1。 Onchange Field 。如果它们位于同一视图中,则创建一个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')