From d2ca43402ef0bad4a1310142d2212674d3655171 Mon Sep 17 00:00:00 2001 From: Martin Trigaux Date: Fri, 6 Dec 2013 15:22:20 +0100 Subject: [PATCH] [FIX] orm: inverting the condition seems to work (don't ask why) bzr revid: mat@openerp.com-20131206142220-nfqiyeic9fdkejxy --- openerp/osv/fields.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/openerp/osv/fields.py b/openerp/osv/fields.py index c7771bd0327..da09fe0e27e 100644 --- a/openerp/osv/fields.py +++ b/openerp/osv/fields.py @@ -570,8 +570,8 @@ class one2many(_column): else: cr.execute('update '+_table+' set '+self._fields_id+'=null where id=%s', (act[1],)) elif act[0] == 4: - cr.execute("select 1 from {0} where id=%s and {1}!=%s".format(_table, self._fields_id), (act[1], id)) - if cr.fetchone(): + cr.execute("select 1 from {0} where id=%s and {1}=%s".format(_table, self._fields_id), (act[1], id)) + if not cr.fetchone(): # Must use write() to recompute parent_store structure if needed and check access rules obj.write(cr, user, [act[1]], {self._fields_id:id}, context=context or {}) elif act[0] == 5: