在表单视图中显示树视图,模型之间有一个公共字段。在 Odoo 9
Show tree view inside a form view with one field in common between models. In Odoo 9
我们有模型“website.support.ticket”,带有“partner_id”字段。
我们有模型“crm.lead”,带有“partner_id”字段。
(两个模型共一个字段)
想法是将一个页面(下拉)放到 crm_lead 的视图中,以查看所有 website_support_tickets 的列表 与 crm_lead 当前视图的 合作伙伴 相关。
在 xml 文件中我们有这段代码,工作正常:
<record id="view_order_form" model="ir.ui.view">
<field name="name">Opportunities Extend</field>
<field name="model">crm.lead</field>
<field name="inherit_id" ref="crm.crm_case_form_view_oppor"/>
<field name="arch" type="xml">
<page name="lead" position="after">
<page string="Support Tickets">
<field name="support_ticket_lines"/>
</page>
</page>
</field>
</record>
在 python 文件中,我尝试将模型与相关字段联系起来:
class crm_lead_extend(models.Model):
_inherit = ['crm.lead']
support_ticket_lines = fields.One2many(related='partner_id.support_ticket_ids')
但是显示错误:
在_setup_related_full
字段 = target._fields[名称]
键错误:'support_ticket_ids'
我怎样才能做到这一点?
你得到那个错误是因为你期望字段 support_ticket_ids
存在于 res.partner
模型中,但是你没有在那里声明它。
保留您的代码,并将以下内容添加到 res.partner
模型中:
class ResPartner(models.Model):
_inherit = 'res.partner'
support_ticket_ids = fields.One2many(
comodel_name='website.support.ticket',
inverse_name='partner_id',
string='Support Ticket Lines',
)
我们有模型“website.support.ticket”,带有“partner_id”字段。 我们有模型“crm.lead”,带有“partner_id”字段。 (两个模型共一个字段)
想法是将一个页面(下拉)放到 crm_lead 的视图中,以查看所有 website_support_tickets 的列表 与 crm_lead 当前视图的 合作伙伴 相关。
在 xml 文件中我们有这段代码,工作正常:
<record id="view_order_form" model="ir.ui.view">
<field name="name">Opportunities Extend</field>
<field name="model">crm.lead</field>
<field name="inherit_id" ref="crm.crm_case_form_view_oppor"/>
<field name="arch" type="xml">
<page name="lead" position="after">
<page string="Support Tickets">
<field name="support_ticket_lines"/>
</page>
</page>
</field>
</record>
在 python 文件中,我尝试将模型与相关字段联系起来:
class crm_lead_extend(models.Model):
_inherit = ['crm.lead']
support_ticket_lines = fields.One2many(related='partner_id.support_ticket_ids')
但是显示错误:
在_setup_related_full 字段 = target._fields[名称] 键错误:'support_ticket_ids'
我怎样才能做到这一点?
你得到那个错误是因为你期望字段 support_ticket_ids
存在于 res.partner
模型中,但是你没有在那里声明它。
保留您的代码,并将以下内容添加到 res.partner
模型中:
class ResPartner(models.Model):
_inherit = 'res.partner'
support_ticket_ids = fields.One2many(
comodel_name='website.support.ticket',
inverse_name='partner_id',
string='Support Ticket Lines',
)