From 332154444df450489ea01522bf1360c0446f91fb Mon Sep 17 00:00:00 2001 From: Samus CTO Date: Fri, 7 Nov 2014 16:11:15 +0100 Subject: [PATCH] [FIX] Can not search using a string operator on column id --- openerp/addons/test_impex/tests/test_load.py | 11 +++++------ openerp/osv/expression.py | 4 ---- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/openerp/addons/test_impex/tests/test_load.py b/openerp/addons/test_impex/tests/test_load.py index d9cbd5b100a..2fcf6dc2ad6 100644 --- a/openerp/addons/test_impex/tests/test_load.py +++ b/openerp/addons/test_impex/tests/test_load.py @@ -642,12 +642,11 @@ class test_m2o(ImporterCase): @mute_logger('openerp.sql_db') def test_fail_id_mistype(self): result = self.import_(['value/.id'], [["foo"]]) - - self.assertEqual(result['messages'], [ - message(u"Invalid database id 'foo' for the field 'unknown'", - moreinfo=moreaction(res_model='ir.model.data', - domain=[('model','=','export.integer')])) - ]) + try: + int("foo") + except ValueError, exc: + expected_message = unicode(exc) + self.assertEqual(result['messages'], [message(expected_message)]) self.assertIs(result['ids'], False) def test_sub_field(self): diff --git a/openerp/osv/expression.py b/openerp/osv/expression.py index 0298bd3a90a..53ba5a2e8ae 100644 --- a/openerp/osv/expression.py +++ b/openerp/osv/expression.py @@ -1195,10 +1195,6 @@ class expression(object): query, params = self.__leaf_to_sql( create_substitution_leaf(eleaf, (left, '=', right), model)) - elif left == 'id': - query = '%s.id %s %%s' % (table_alias, operator) - params = right - else: need_wildcard = operator in ('like', 'ilike', 'not like', 'not ilike') sql_operator = {'=like': 'like', '=ilike': 'ilike'}.get(operator, operator)