My problem is I have model A with list of model B. In model B I've got a field with a compute method. In that method I have to use data that is stored in model A M2M field. When the method is triggered by api.depends it works. But when I save model A record the model B compute method is triggered and the M2M field is empty even if there are values in it.
But I need those values, what I'm doing wrong?
ModelA
------
partner_ids = field.Many2many()
line_ids = fields.One2many(ModelB, model_a_id)
ModelB
------
model_a_id = fields.Many2one(ModelA)
calculated_field = field.Float(compute='_get_value', store=True)
@api.depends(some fields)
def _get_value(self):
for rec in self:
# some computations
if rec.model_a_id.partner_ids:
# do something
If you want the computed field to be calculated if the value in modelA.M2M field changes then in api.depends you need to add the M2M field as below:
@api.depends("model_a_id.partner_ids")
nope that is not not the question or the problem!