Odoo - 如何将“代码”字段添加到会计模型

时间:2018-06-18 14:21:26

标签: odoo odoo-9 custom-fields

我正在开发一个模块,用于打印与发票相关的一些值。会计模型中唯一缺少的两件事是字段:

-vat

- 代码(国家代码)

我已成功添加增值税字段。但是,在尝试引入“代码”字段时会出错。我的py代码如下:

from openerp import models, fields

class CountryCodeInvoice(models.Model):
# where to place new fields
    _inherit = 'account.invoice'

# getting country code to the accounting model
    code = fields.Char(string='Country Code', related='res_country.code')

class AccountInvoiceInherited(models.Model):
# where to place new fields
    _inherit = 'account.invoice'
# getting the vat field to accounting model
    vat = fields.Char(string='vat', related='partner_id.vat')

我肯定搞砸了这一部分:

related='res_country.code'

这是我想要获得的最终结果:

This is the final result I am trying to get:

您是否知道任何解释如何使用相关字段的教程?官方文件不是很深入......

1 个答案:

答案 0 :(得分:1)

相关字段基于您正在处理的模型的关系。通常这些字段是Many2one字段。您已经使用了vat partner_id Many2one,这与模型res.partner的{​​{1}}关系。 您可以与此关系的其他字段相关联,例如在您的示例中,发票合作伙伴的增值税。你必须像大多数面向对象的语言一样使用点符号。 但链条并没有停在第一件上。所以你可以谈谈很多“更深层次”的关系。例如,您的国家/地区代码:

code = fields.Char(string='Country Code', related='partner_id.country_id.code')

同样,链条始于partner_id。但国家代码在关系链中更深入。 res.partner与模型Many2one具有res.country关系,其中包含代码。只需使用点符号即可。