How do I solve psycopg2.ProgrammingError: column reference "account_analytic_id" is ambiguous in odoo

How do I solve psycopg2.ProgrammingError: column reference "account_analytic_id" is ambiguous in odoo

我正在尝试将模块从 odoo 8 移动到 odoo 12,但在 odoo 12 环境中尝试安装 odoo 8 模块时出现此错误。

psycopg2.ProgrammingError: column reference "account_analytic_id" is ambiguous
LINE 18: ..., sub.product_id, sub.partner_id, sub.country_id, sub.accoun...

这是我怀疑错误来自的代码块

class AccountInvoiceReport(models.Model):
    _inherit = 'account.invoice.report'

    cost_center_id = fields.Many2one(
        'account.cost.center',
        string='Cost Center',
        readonly=True
    )
    account_analytic_id = fields.Many2one(
        'account.analytic.account',
        string='Analytic Account',
        readonly=True
    )

    def _select(self):
        return super(AccountInvoiceReport, self)._select() + \
            ", sub.cost_center_id as cost_center_id, " + \
            "sub.account_analytic_id as account_analytic_id"

    def _sub_select(self):
        return super(AccountInvoiceReport, self)._sub_select() + \
            ", ail.cost_center_id as cost_center_id, " + \
            "ail.account_analytic_id as account_analytic_id"

    def _group_by(self):
        return super(AccountInvoiceReport, self)._group_by() + \
            ", ail.cost_center_id, " + \
            "ail.account_analytic_id"

只需删除带有 account_analytic_id 的查询部分,因为它已经在 Odoo 12 的 account.invoice.report 中。

可以看到here