公司最近在导入开业物品资料,根据同事的需求,需要在供应商资料中添加QQ号一项,根据前段时间自己摸索的经验,准备自己尝试通过继承完成这一需求。
模块名定义为rainsoft_partner
创建__init__.py,__openerp__.py,rainsoft_partner.py rainsoft_partner_view.xml文件
__init__.py和__openerp__.py略过不谈,下面是rainsoft_partner.py的代码:
1 #-*- coding:utf-8 -*- 2 from openerp.osv import fields,osv 3 4 class rainsoft_partner(osv.osv): 5 _name="res.partner" 6 _inherit="res.partner" 7 _description="add QQ number." 8 _columns={ 9 "QQ":fields.char("QQ",size=16), 10 } 11 rainsoft_partner()
由于我的目的是要通过继承改变原有的页面,所以这里_name==_inherit,都为 res.partner 对象
下面是rainsoft_partner_view.xml文件的代码:
1 <?xml version="1.0" encoding="utf-8"?> 2 <openerp> 3 <data> 4 <record model="ir.ui.view" id="rainsoft_partner_form_view"> 5 <field name="name">rainsoft_partner.rainsoft_partner</field> 6 <field name="type">form</field> 7 <field name="model">res.partner</field> 8 <field name="inherit_id" ref="base.view_partner_form"/> 9 <field name="arch" type="xml"> 10 <field name="title" position="after"> 11 <field name="QQ"/> 12 </field> 13 </field> 14 </record> 15 </data> 16 </openerp>
需要注意的是<field name="inherit_id" ref="base.view_partner_form"/>只有标记了这个才能正确的通过验证。