我创建了一个新的类fleet_agent,它继承自res.partner而没有问题
class fleet_agent(osv.Model):
_name = 'fleet.agent'
_inherit = ['res.partner']
_columns = {
'test': fields.char('Test', help='Test'),
}
然后fleet_agent_form继承base.view_partner_form也没问题
<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_partner_form的格式,而且所有字段都没有任何顺序?
答案 0 :(得分:1)
您已经创建了一个新模型&#39; fleet.agent&#39;通过扩展基地&res ;partner&#39;。为了显示所有字段,您需要在xml中指定字段或通过删除&#39; fleet.agent&#39;来使用经典继承。并将您的字段添加到基地&#39; res.partner&#39;。
class fleet_agent(osv.Model):
_inherit = 'res.partner'
_columns = {
'field': fields.char('Name', help='help'),
}
在xml文件中:
<field name="model">fleet.agent</field>
答案 1 :(得分:0)
尝试以下,
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>
从python代码中删除_name = 'fleet.agent'
,创建新模型,在扩展任何父模型时,在xml中必须将父模型名称写入视图
<field name="model">res.partner</field>
因此,您将获得基类功能的扩展功能。
答案 2 :(得分:0)
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>
答案 3 :(得分:0)
要将表格复制到您的模样,您应使用继承关键字而不是继承。您还必须复制基本模块的合作伙伴表单的视图定义并进行更改,扩展不会帮助您创建新表。 Source
更新:有关os继承方式的其他信息:
答案 4 :(得分:0)
class res_partner(models.Model):
_inherit = 'res.partner'
test = fields.Char(string='test')`
./odoo-bin -u [module_name] -c [configuration_file