Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
2833 Lượt xem

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

 

Ảnh đại diện
Huỷ bỏ

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")

Tác giả

nope that is not not the question or the problem!

Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 6 22
5463
0
thg 1 24
169
1
thg 9 23
1730
1
thg 12 22
3261
2
thg 3 21
4629