diff --git a/addons/web_editor/models/ir_ui_view.py b/addons/web_editor/models/ir_ui_view.py index 532e3de70d9..45211502f11 100644 --- a/addons/web_editor/models/ir_ui_view.py +++ b/addons/web_editor/models/ir_ui_view.py @@ -202,7 +202,7 @@ class IrUiView(models.Model): @api.model def _view_obj(self, view_id): if isinstance(view_id, pycompat.string_types): - return self.search([('key', '=', view_id)]) or self.env.ref(view_id) + return self.search([('key', '=', view_id)], limit=1) or self.env.ref(view_id) elif isinstance(view_id, pycompat.integer_types): return self.browse(view_id) # assume it's already a view object (WTF?) diff --git a/odoo/addons/base/models/ir_ui_view.py b/odoo/addons/base/models/ir_ui_view.py index 2c49ee065b8..c46b9ba87d2 100644 --- a/odoo/addons/base/models/ir_ui_view.py +++ b/odoo/addons/base/models/ir_ui_view.py @@ -1179,7 +1179,7 @@ actual arch. return template if '.' not in template: raise ValueError('Invalid template id: %r' % template) - view = self.search([('key', '=', template)]) + view = self.search([('key', '=', template)], limit=1) return view and view.id or self.env['ir.model.data'].xmlid_to_res_id(template, raise_if_not_found=True) def clear_cache(self):