1

各位同事,下午好

我正在尝试为包含深度 = 2 的嵌套 One2many 字段的模型创建适当的表单 UI。这是缩短的代码清单:

class ModelA(models.Model):
    v_enabled = fields.Boolean( compute='_compute_model_b_enabled', inverse='_set_model_b_enabled' )
    v_set = fields.One2many( 'model.b', 'model_id', compute='_compute_model_b', required=True )

class ModelB(models.Model):
    enabled      = fields.Boolean()
    type         = fields.Integer()
    measures    = fields.One2many( 'model.c', 'measure_set' )

class ModelC(models.Model):
    measure_set = fields.Many2one( 'model.b' )
    etalon_value = fields.Float( readOnly=True )
    value        = fields.Float()
    abs_error    = fields.Float( readOnly=True, compute='_compute_abs_error')
    max_error    = fields.Float( readOnly=True )

它们之间的关系:

ModelA --- v_set ---> ModelB --- 测量 ---> ModelC

这是当前的 UI XML 实现:

<record id="model_a_form" model="ir.ui.view">
    <field name="arch" type="xml">
        <form>
            <sheet>
                <group>
                    <notebook>
                        <page string="Channel" name="channel">
                            <field name="v_set">  
                                <form>
                                    <field name="enabled" string="Is selected" />
                                    <field name="measures" widget="section_and_note_one2many" mode="tree,kanban">
                                        <form>
                                            <field name="etalon_value" invisible="1"></field>
                                            <field name="value" invisible="1"></field>
                                            <field name="abs_error" invisible="1"></field>
                                            <field name="max_error" invisible="1"></field>
                                        </form>
                                        <tree editable="bottom" create="false" delete="false">
                                            <field name="etalon_value" string='Etalon'></field>
                                            <field name="value" string='Measurement'></field>
                                            <field name="abs_error" string='Abs error' readonly="1" ></field>
                                            <field name="max_error" string='Max error' readonly="1"></field>                                           
                                        </tree>
                                    </field>                                   
                                </form>
                            </field>
                        </page>
                    </notebook>
                </group>  
            </sheet>
        </form>
    </field>       
</record>

当我打开此表单时出现问题:它只显示嵌套字段的 ID,而不是“嵌套”字段('etalon_value'、'value'、'abs_error'、'max_error')。你可以在那里看到它:

https://postimg.cc/Kkv6f6vP

这是点击“parent”-s ID 行后出现的表单:

https://postimg.cc/qhb951z9

我梦想让“嵌套”字段('etalon_value'、'value'、'abs_error'、'max_error')以 parent-s 形式出现,而不仅仅是 ID,如第一个链接所示。

你能否给我一些关于如何实现它的提示。

4

0 回答 0