diff --git a/addons/base_import/tests/test_base_import.py b/addons/base_import/tests/test_base_import.py index 6bef004936e..0502af6d0ab 100644 --- a/addons/base_import/tests/test_base_import.py +++ b/addons/base_import/tests/test_base_import.py @@ -99,7 +99,7 @@ class TestO2M(BaseImportCase): self.assertEqualFields(self.get_fields('o2m'), make_field(field_type='one2many', fields=[ ID_FIELD, # FIXME: should reverse field be ignored? - {'id': 'parent_id', 'name': 'parent_id', 'string': 'Parent id', 'type': 'many2one', 'required': False, 'fields': [ + {'id': 'parent_id', 'name': 'parent_id', 'string': 'Parent', 'type': 'many2one', 'required': False, 'fields': [ {'id': 'parent_id', 'name': 'id', 'string': 'External ID', 'required': False, 'fields': [], 'type': 'id'}, {'id': 'parent_id', 'name': '.id', 'string': 'Database ID', 'required': False, 'fields': [], 'type': 'id'}, ]}, diff --git a/odoo/fields.py b/odoo/fields.py index 8971c239ac9..e43c8ddabb6 100644 --- a/odoo/fields.py +++ b/odoo/fields.py @@ -470,7 +470,10 @@ class Field(object): if not self.string and not self.related: # related fields get their string from their parent field - self.string = name.replace('_', ' ').capitalize() + self.string = ( + name[:-4] if name.endswith('_ids') else + name[:-3] if name.endswith('_id') else name + ).replace('_', ' ').title() # self.default must be a callable if self.default is not None: