odoo中继承模型的相关领域

时间:2019-08-14 06:26:27

标签: python odoo odoo-12

我有一个继承了 res.partner 模型

的模型
class supplierDetails(models.Model):
    _inherit = 'res.partner'

   farmer_code = fields.Char(string="Farmer's Code")

现在,我希望在另一个模型中使用来自farmer_code的值,因此根据this的回答,我已经达到了这一程度。

class productTest(models.Model):
     _name = 'quality.physical'
     _inherit = 'res.partner'

frm_code_ids = fields.Many2one('res.partner',string="Farmer Code")
    frm_cod = fields.Char(related='frm_code_ids.farmer_code',store=True,readonly=True)

现在,我收到 KeyError:'farmer_code'。我该怎么做才能解决此问题?预先感谢。

1 个答案:

答案 0 :(得分:2)

您的代码应该工作,请逐步重复该过程,确保res.partner包含此字段,您可能会忘记将类放在__init__.py文件中。

     # related field without store is like a compute field it's computed on fly
     related_field_name = fields.FieldType(related='your_m2o.target_field_name')

如果放置store=True,则每当您更改many2one的值时,它将被添加到数据库中并重新计算。

您可以上一层以上,例如:your_m2m.another_m2o_field.target_field_name

字段类型应与目标字段相同。

只需确保目标模型具有该字段。