我无法在 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>
希望我的回答对您有所帮助:)
我想在 /stock/stock_view.xml
<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>
希望我的回答对您有所帮助:)