Odoo10 xpath继承采购订单行上的字段

时间:2019-01-23 08:46:34

标签: python xml odoo

我正在尝试在模块上编码。

但是我被卡住了。它不起作用。

Python代码

class PurchaseCurrency(models.Model):
    _inherit = "purchase.order.line"

    new_currency = fields.Float(string="Test")

我的xml

<record id="new_currency_line" model="ir.ui.view">
        <field name="name">purchase.order.form</field>
        <field name="model">purchase.order</field>
        <field name="inherit_id" ref="purchase.purchase_order_form"/>
        <field name="arch" type="xml">
            <xpath expr="//field[@name='order_line']/tree/field[@name='product_qty']" position="after">
                <field name="new_currency"/>
            </xpath>
        </field>
</record>

和错误警告

ValueError:字段new_currency不存在

错误上下文: 查看purchase.order.form [view_id:1074,xml_id:purchase.purchase_order_form,型号:purchase.order,parent_id:n / a]

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:-1)

将您的python模型文件添加到__init__.py     来自。导入模型

确保将python模型目录导入模块根__init__.py中     来自。导入模型

重新启动odoo实例并从Web后端或从命令行使用-u module_name更新模块。

您可以使用xpath标签来简化field表达式

<record id="new_currency_line" model="ir.ui.view">
    <field name="name">purchase.order.form.new</field>
    <field name="model">purchase.order</field>
    <field name="inherit_id" ref="purchase.purchase_order_form" />
    <field name="arch" type="xml">
    <field name="product_qty" position="after">
        <field name="new_currency" />
    </field>
</record>