我无法在 one2many 树中添加字段(在表单视图中)。为什么?

I can't add a field inside a one2many tree (in a form view). Why?

我想在 /stock/stock_view.xml

中的这个 one2many 中插入一个新字段
<field name="pack_operation_ids" context="{'default_picking_id': active_id, 'default_location_id': location_id, 'default_location_dest_id': location_dest_id}">
    <tree editable="top">
        <field name="package_id" groups="stock.group_tracking_lot"/>
        <field name="product_id" on_change="product_id_change(product_id, product_uom_id, product_qty)"/>
        <field name="product_uom_id" groups="product.group_uom"/>
        <field name="lot_id" domain="[('product_id','=?', product_id)]" context="{'product_id': product_id}" groups="stock.group_production_lot"/>
        <field name="picking_id" invisible="1"/>
        <field name="owner_id" groups="stock.group_tracking_owner"/>
        <field name="product_qty" attrs="{'required': [('product_id', '!=', False)]}"/>
        <field name="location_id" domain="[('id', 'child_of', parent.location_id)]"/>
        <field name="location_dest_id" domain="[('id', 'child_of', parent.location_dest_id)]"/>
        <field name="result_package_id" groups="stock.group_tracking_lot" context="{'location_id': location_dest_id}"/>
    </tree>
</field>

我试过这个:

<xpath expr="/form/sheet/notebook/page[@string='Operations']/field[@name='pack_operation_ids']/tree/field[@name=result_package_id]" position="after">
    <field name="label_qty" />
</xpath>

但它不起作用。我收到此错误:

Error details:
Field `label_qty` does not exist

我认为那是因为它没有检测到 pack_operation_ids

的模型

我的python代码

class StockPackOperation(models.Model):
    _inherit = 'stock.pack.operation'

    label_qty = fields.Integer(
        string='Label quantity',
        required=True,
        # default=lambda self: self._get_default_qty,
    )

我也试过替换整个字段,但效果不佳,它复制了笔记本外的字段,没有别的。

还有其他方法吗?

您只需尝试正确升级模块,然后在您更改以下代码后 xml

首先,您将检查您创建的字段是否已在 Odoo 的数据库模型结构中完全创建。 先检查这个,然后再将该字段放入视图中。xml 文件。

<xpath expr="//page[@string='Operations']/field[@name='pack_operation_ids']/tree/field[@name='result_package_id']" position="after">
    <field name="label_qty" />
</xpath>

希望我的回答对您有所帮助:)