如何在表单中多次使用同一字段?

时间:2019-04-09 12:27:26

标签: python treeview odoo odoo-11

对于需要多次使用同一字段的模块,视图xml的外观如何?

例如。在我的场景中,我继承了该视图,并希望在新页面中显示一些字段,如代码中所见。 move_lines已在父视图中使用,因此无法获得所需的输出。

<xpath expr="/form/sheet/notebook/page[3]" position="after">
     <page string="Tracking Info">
          <field name="move_lines">
                 <tree string="Stock Moves" editable="bottom" create="false" delete="false">
                      <field name="product_id" readonly="True" required="1"/>
                      <field name="tracking_no"/>
                  </tree>
           </field>
    </page>
</xpath>

有更好的方法吗?

3 个答案:

答案 0 :(得分:2)

我做了一些搜索,唯一的方法是创建相关字段。

class stock_picking(models.Model):
    _inherit = 'stock.picking'

    move_lines_d = fields.One2many('stock.move', related='move_lines')

并在xml中使用该字段

<xpath expr="/form/sheet/notebook/page[3]" position="after">
                  <page string="Tracking Info">
                            <field name="move_lines_d">
                                <tree string="Stock Moves" editable="bottom" create="false" delete="false">
                                    <field name="state" invisible="1" readonly="0"/>
                                    <field name="product_id" readonly="True" required="1"/>

                                    <field name="moveline_partner" readonly="True"/>
                                    <field name="moveline_partner_address" readonly="True"/>
                                    <field name="tracking_no"/>

                                    <!--<field name="product_uom_qty" string="Initial Demand" readonly="True"/>-->
                                    <!--<field name="reserved_availability" string="Reserved" readonly="True"/>-->
                                    <field name="quantity_done" string="Done" readonly="True"/>
                                    <!--<field name="product_uom" readonly="True" string="Unit of Measure" groups="product.group_uom"/>-->
                                </tree>
                            </field>
                        </page>
              </xpath>

答案 1 :(得分:0)

实际上,使用香草(未定制)Odoo是不可能的,而且我不知道可以满足此要求的任何定制。

答案 2 :(得分:0)

<record model="ir.ui.view" id="view_picking_form_with_double_move_lines">
  <field name="name">stark product</field>
  <field name="model">stock.picking</field>
  <field name="mode">extension</field>
  <field name="priority" eval="50"/>
  <field name="inherit_id" ref="stock.view_picking_form"/>
  <field name="arch" type="xml">
    <xpath expr="/form/sheet/notebook/page[3]" position="after">
      <page string="Tracking Info">
        <field name="move_lines" widget="one2many"/>
      </page>
    </xpath>
</field>

after before view