09 如何继承已有视图并添加字段(学Odoo,就得Do)

扩展已有视图是我们非常需要的功能,因为现代的软件工业都是一层一层积累而来,而不是从头开始做。所以这一篇我们来讲如何继承和扩展已有模块。

我们挑选扩展销售订单的表单,所以我们先要安装销售模块:

安装完毕后,创建一张销售订单,创建订单的过程很简单,这里只贴一张图示意一下:

然后我们要在Customer下面加入病人的名字,所以我们要先找到销售订单Sales Order的数据对象和表单名称及Customer这个字段在Sales Order数据对象里面叫什么,Odoo系统在这方面给了我们很好的借鉴,我们在Web界面,只要进入开发者模式就可以看了,非常方便。

记住这个小甲虫:

进入Edit View: Form,记下来Model和External ID项

把鼠标移动到Customer字段上,Odoo就会提示该字段的设计内容,因为我们要在Customer下面添加病人名字,所以需要了解这个字段名称,在图示中是Field: partner_id。好了,万事俱备,只欠动手了。

打开__manifest__.py,我们要添加一下依赖关系,因为我们要从sales模块继承

 'depends' : ['base','mail','sale'],

打开patient.py,我们要添加继承内容,代码直接粘贴在class HospitalPatient(models.Model)那行上面:

class SaleOrderInherit(models.Model):
    _inherit = 'sale.order'

    patient_name = fields.Char(string='Patient Name')

在patient_menu.xml添加销售订单修改字段内容

    <record id="sale_order_inherit" model="ir.ui.view">
        <field name="name">sale.order.inherit</field>
        <field name="model">sale.order</field>
        <field name="inherit_id" ref="sale.view_order_form"/>
        <field name="arch" type="xml">
            <field name="partner_id" position="after">
                <field name="patient_name"/>
            </field>
        </field>
    </record>

然后升级om_hospital模块,再打开销售订单部分,就可以看见我们新加入的字段了:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值