跳至內容
選單
此問題已被標幟
2603 瀏覽次數

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!

相關帖文 回覆 瀏覽次數 活動
1
6月 22
5185
0
1月 24
169
1
9月 23
1553
1
12月 22
3091
2
3月 21
4445