Odoo 奥多-如何添加;代码“;场对会计模型
我正在开发一个模块,该模块将打印与发票相关的一些值。会计模型中缺少的只有两个字段: -大桶 -代码(国家代码) 我已成功添加增值税字段。但是,在尝试引入“代码”字段时会出现错误。我的py代码如下:Odoo 奥多-如何添加;代码“;场对会计模型,odoo,odoo-9,custom-fields,Odoo,Odoo 9,Custom Fields,我正在开发一个模块,该模块将打印与发票相关的一些值。会计模型中缺少的只有两个字段: -大桶 -代码(国家代码) 我已成功添加增值税字段。但是,在尝试引入“代码”字段时会出现错误。我的py代码如下: from openerp import models, fields class CountryCodeInvoice(models.Model): # where to place new fields _inherit = 'account.invoice' # getting cou
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'
这是我试图得到的最终结果:
你知道任何解释如何使用相关领域的教程吗?官方文档并不深入…相关字段基于您正在处理的模型的关系。通常这些字段是
manyOne
字段。您已经将一个用于vat
:partner\u id
,它是与modelres.partner
的manyOne
关系。
您可以与此关系的其他字段关联,例如在您的示例中,发票合作伙伴的增值税。您必须像大多数面向对象语言一样使用点符号。
但是链条并没有在第一块上停止。因此,你可以建立更“深入”的关系。例如,您的国家代码:
code=fields.Char(字符串='Country code',related='partner\u id.Country\u id.code')
同样,这条链的开头是
partner\u id
。但国家代码在关系链中的位置更深res.partner
与持有代码的modelres.country
有manyOne
关系。只需使用点符号即可。非常感谢。明天我将试着玩它。你怎么认出这棵树?我是说,当我在找一个大桶的时候,我看到它就在“合作伙伴”里面。在这种情况下,我应该去寻找代码,然后找到合作伙伴的链接(通过国家)?这件事毁了我的头脑,或者我可能是太负荷了……对于初学者来说,找到这样的关系并不容易,因为奥多是复杂的。只需查看模型及其字段,并尝试进行逻辑搜索。