diff options
| author | svs-odoo <svs@odoo.com> | 2020-12-28 15:45:41 +0000 |
|---|---|---|
| committer | svs-odoo <svs@odoo.com> | 2021-01-04 09:59:50 +0000 |
| commit | cf2b0a505c117a50a91fa022bc1d6bf1eb6d9f77 (patch) | |
| tree | b0b7f0fa2798fb2006c3cafc3dc1ab5261e5fc45 /odoo/addons/test_new_api/models/test_new_api.py | |
| parent | 1b10d4e9240a1d4892143284e806ba8ab8281c9d (diff) | |
[FIX] core: avoid duplicate onchanges
When performing the onchange for the first time on a new record, if a
field has a default value, it could be two times in the `todo` field
list to compute.
closes odoo/odoo#63983
Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Diffstat (limited to 'odoo/addons/test_new_api/models/test_new_api.py')
| -rw-r--r-- | odoo/addons/test_new_api/models/test_new_api.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/odoo/addons/test_new_api/models/test_new_api.py b/odoo/addons/test_new_api/models/test_new_api.py index bfe9b2fcee9..0f40589636c 100644 --- a/odoo/addons/test_new_api/models/test_new_api.py +++ b/odoo/addons/test_new_api/models/test_new_api.py @@ -553,6 +553,7 @@ class ComputeOnchange(models.Model): foo = fields.Char() bar = fields.Char(compute='_compute_bar', store=True) baz = fields.Char(compute='_compute_baz', store=True, readonly=False) + count = fields.Integer(default=0) line_ids = fields.One2many( 'test_new_api.compute.onchange.line', 'record_id', compute='_compute_line_ids', store=True, readonly=False @@ -562,6 +563,10 @@ class ComputeOnchange(models.Model): compute='_compute_tag_ids', store=True, readonly=False, ) + @api.onchange('foo') + def _onchange_foo(self): + self.count += 1 + @api.depends('foo') def _compute_bar(self): for record in self: |
