Openerp 继承物的形式
我创建了一个新的类fleet_代理,它从res.partner继承而来,没有任何问题Openerp 继承物的形式,openerp,odoo,Openerp,Odoo,我创建了一个新的类fleet_代理,它从res.partner继承而来,没有任何问题 class fleet_agent(osv.Model): _name = 'fleet.agent' _inherit = ['res.partner'] _columns = { 'test': fields.char('Test', help='Test'), } 然后车队代理表单继承了基本表单。查看合作伙伴表单也没有问题 <record id="fleet_ag
class fleet_agent(osv.Model):
_name = 'fleet.agent'
_inherit = ['res.partner']
_columns = {
'test': fields.char('Test', help='Test'),
}
然后车队代理表单继承了基本表单。查看合作伙伴表单也没有问题
<record id="fleet_agent_form" model="ir.ui.view">
<field name="name">fleet.agent.form</field>
<field name="model">fleet.agent</field>
<field name="inherit_id" ref="base.view_partner_form" />
<field name="arch" type="xml">
<field name="state_id" position="before">
<field name="x" />
</field>
</field>
</record>
舰队、代理人、表格
舰队代理
我的问题是,此表单没有显示为view\u partner\u表单的格式,并且所有字段都没有任何顺序?请尝试以下操作:
class fleet_agent(osv.Model):
_inherit = ['res.partner']
_columns = {
'test': fields.char('Test', help='Test'),
}
<record id="fleet_agent_form" model="ir.ui.view">
<field name="name">fleet.agent.form</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form" />
<field name="arch" type="xml">
<field name="state_id" position="before">
<field name="x" />
</field>
</field>
</record>
因此,您将通过基类的功能获得扩展的功能。您通过扩展基类“res.partner”创建了一个新的模型“fleet.agent”。为了显示所有字段,您需要在xml中指定字段,或者通过删除“fleet.agent”并将字段添加到基“res.partner”来使用经典继承
class fleet_agent(osv.Model):
_inherit = 'res.partner'
_columns = {
'field': fields.char('Name', help='help'),
}
在xml文件中:
<field name="model">fleet.agent</field>
fleet.agent
班级合作伙伴(model.model):
_继承='res.partner'
test=fields.Char(string='test',help='test'),
}
伙伴测试
合伙人
要将表复制到您的moule,您应该使用继承关键字,而不是继承。此外,您还必须复制基本模块的合作伙伴表单的视图定义并对其进行更改,扩展不会帮助您创建新表。
更新:有关操作系统继承方式的其他信息:
Update2:看起来你们走对了:有一种继承的方式:使用继承关键字并为新模型指定新的_名称。
我想通过使用相同的base.view\u partner\u表单和新的fleet.agent字段,从res.partner模型创建一个新的类fleet.agent和新表。然后确定在python代码中定义
\u name='fleet.agent'
,并定义\u inherits={res.partner':'fleet\u agent\u id'}
在视图中,您可以访问res.partner的所有字段。您还需要提供车队代理id的字段定义。查看product.product类以获取参考及其视图,有product\u tmpl\u id
正在引用product.template
。我想通过继承并使用相同的base.view\u partner\u表单和新的fleet.agent字段,从res.partner模型创建一个新的类fleet.agent和新表。
<field name="model">fleet.agent</field>
class Partner(model.Model):
_inherit = 'res.partner'
test = fields.Char(string='Test', help='Test'),
}
<record id="fleet_agent_form" model="ir.ui.view">
<field name="name">partner.test</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form" />
<field name="arch" type="xml">
<field name="test" />
</field>
</record>
class res_partner(models.Model):
_inherit = 'res.partner'
test = fields.Char(string='test')`
./odoo-bin -u [module_name] -c [configuration_file