From c180358e3054f0e05e1b7fc2daeeda4ab0d94d9a Mon Sep 17 00:00:00 2001 From: "P. Christeas" Date: Mon, 17 Jan 2011 10:40:54 +0200 Subject: [PATCH] ir.model: fix loading of data, for inheriting models Since a recent commit, non (long, int) values will propagate, so we'd better not use inherit_id = browse_record(...) as a value in create()'s dict. Previously, it did work because we define __int__() so that: int(browse_record(...)) == browse_record(...).id bzr revid: p_christ@hol.gr-20110117084054-8qv5uc4vt4w9aygv --- bin/addons/base/ir/ir_model.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bin/addons/base/ir/ir_model.py b/bin/addons/base/ir/ir_model.py index abbcec9130a..410d499e6bd 100644 --- a/bin/addons/base/ir/ir_model.py +++ b/bin/addons/base/ir/ir_model.py @@ -664,8 +664,10 @@ class ir_model_data(osv.osv): },context=context) if model_obj._inherits: for table in model_obj._inherits: - inherit_id = model_obj.browse(cr, uid, - res_id,context=context)[model_obj._inherits[table]] + inherit_id = getattr(model_obj.browse(cr, uid, + res_id,context=context), model_obj._inherits[table]) + if isinstance(inherit_id, browse_record): # most likely + inherit_id = inherit_id.id self.create(cr, uid, { 'name': xml_id + '_' + table.replace('.', '_'), 'model': table,