在表单视图内显示树视图,其中模型之间具有一个共同点。在Odoo 9

时间:2019-10-11 15:30:13

标签: python xml odoo 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 [名称]     KeyError:“ support_ticket_ids”

我该如何实现?

1 个答案:

答案 0 :(得分:1)

您收到该错误是因为您期望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',
    )