Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
6823 มุมมอง

Hi all,

I have trouble understanding what is caching doing and Odoo and why in my case, a computed field computes the value for a lot of records, although I'm accessing the field for only one record. Here is some code example, where I have a One2many computed field:


invoice_ids = fields.Many2many(compute='_compute_invoices')

@api.model
def my_super_method(self):
    for record in self.search([('test', '=', True)]):
        if record.invoice_ids:
             print "yes!"

The problem is that the compute method '_compute_invoices' is called at each iteration with all records instead of just one record and it takes very long to recompute each time the value for all records. How can I compute only one record at a time ?

อวตาร
ละทิ้ง
Related Posts ตอบกลับ มุมมอง กิจกรรม
1
ม.ค. 25
1297
Compute method dependency แก้ไขแล้ว
1
ก.ย. 23
7722
compute issue แก้ไขแล้ว
1
พ.ค. 21
3818
compute/add selected fields in orderline แก้ไขแล้ว
6
ต.ค. 18
6667
2
พ.ค. 25
964