当前位置:   article > 正文

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

odoo16 看板继承新增字段

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

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

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

然后我们要在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)那行上面:

  1. class SaleOrderInherit(models.Model):
  2. _inherit = 'sale.order'
  3. patient_name = fields.Char(string='Patient Name')

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

  1. <record id="sale_order_inherit" model="ir.ui.view">
  2. <field name="name">sale.order.inherit</field>
  3. <field name="model">sale.order</field>
  4. <field name="inherit_id" ref="sale.view_order_form"/>
  5. <field name="arch" type="xml">
  6. <field name="partner_id" position="after">
  7. <field name="patient_name"/>
  8. </field>
  9. </field>
  10. </record>

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/230837?site
推荐阅读
相关标签
  

闽ICP备14008679号