diff options
| author | Raphael Collet <rco@odoo.com> | 2020-07-02 08:56:08 +0000 |
|---|---|---|
| committer | Raphael Collet <rco@odoo.com> | 2020-07-08 11:58:33 +0000 |
| commit | dd8a6b8a8299afaac699d04f2ed886ff85c685fe (patch) | |
| tree | 6352a86a099bdcf8e0252364c0f0a670018feb9f /odoo/addons/test_new_api/models/test_new_api.py | |
| parent | 04250d80163bb785b674b85fe24354c9d999efea (diff) | |
[ADD] test_new_api: tests on queries made by create with computed fields
closes odoo/odoo#54209
Related: odoo/upgrade#1464
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 | 23 |
1 files changed, 19 insertions, 4 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 ad0085f82b3..0ceb37a0988 100644 --- a/odoo/addons/test_new_api/models/test_new_api.py +++ b/odoo/addons/test_new_api/models/test_new_api.py @@ -379,9 +379,10 @@ class Related(models.Model): message_name = fields.Text(related="message.body", related_sudo=False, string='Message Body') message_currency = fields.Many2one(related="message.author", string='Message Author') -class ComputeProtected(models.Model): - _name = 'test_new_api.compute.protected' - _description = 'Test New API Compute Protected' + +class ComputeReadonly(models.Model): + _name = 'test_new_api.compute.readonly' + _description = 'Model with a computed readonly field' foo = fields.Char(default='') bar = fields.Char(compute='_compute_bar', store=True) @@ -391,9 +392,10 @@ class ComputeProtected(models.Model): for record in self: record.bar = record.foo + class ComputeInverse(models.Model): _name = 'test_new_api.compute.inverse' - _description = 'Test New API Compute Inversse' + _description = 'Model with a computed inversed field' foo = fields.Char() bar = fields.Char(compute='_compute_bar', inverse='_inverse_bar', store=True) @@ -520,6 +522,19 @@ class ComputeCascade(models.Model): record.baz = "<%s>" % (record.bar or "") +class ComputeReadWrite(models.Model): + _name = 'test_new_api.compute.readwrite' + _description = 'Model with a computed non-readonly field' + + foo = fields.Char() + bar = fields.Char(compute='_compute_bar', store=True, readonly=False) + + @api.depends('foo') + def _compute_bar(self): + for record in self: + record.bar = record.foo + + class ComputeOnchange(models.Model): _name = 'test_new_api.compute.onchange' _description = "Compute method as an onchange" |
