diff --git a/odoo/addons/test_new_api/tests/test_onchange.py b/odoo/addons/test_new_api/tests/test_onchange.py index c0e115bc704..73a8cc4a204 100644 --- a/odoo/addons/test_new_api/tests/test_onchange.py +++ b/odoo/addons/test_new_api/tests/test_onchange.py @@ -601,6 +601,10 @@ class TestOnChange(SavepointCaseWithUserDemo): self.assertEqual(form.name, False) self.assertEqual(form.display_name, False) + record = form.save() + self.assertEqual(record.display_name, False) + self.assertEqual(record.name_get(), [(record.id, "")]) + class TestComputeOnchange(common.TransactionCase): diff --git a/odoo/models.py b/odoo/models.py index 6e6d2c33ec5..2ba025553f5 100644 --- a/odoo/models.py +++ b/odoo/models.py @@ -1834,7 +1834,7 @@ class BaseModel(metaclass=MetaModel): """ names = dict(self.name_get()) for record in self: - record.display_name = names.get(record.id, False) + record.display_name = names.get(record.id) or False def name_get(self): """Returns a textual representation for the records in ``self``, with @@ -1855,7 +1855,7 @@ class BaseModel(metaclass=MetaModel): if name in self._fields: convert = self._fields[name].convert_to_display_name for record in self: - result.append((record.id, convert(record[name], record))) + result.append((record.id, convert(record[name], record) or "")) else: for record in self: result.append((record.id, "%s,%s" % (record._name, record.id)))