Reviewers: ,
Please review this at http://codereview.tryton.org/419001/
Affected files:
M trytond/model/fields/one2many.py
M trytond/tests/test_fields.py
Index: trytond/model/fields/one2many.py
===================================================================
--- a/trytond/model/fields/one2many.py
+++ b/trytond/model/fields/one2many.py
@@ -108,7 +108,12 @@
for i in chain(*ids2):
if i in cache[self.model_name] \
and self.field in cache[self.model_name][i]:
- res[cache[self.model_name][i][self.field].id].append(i)
+ if field._type == 'reference':
+ _, id_ =
cache[self.model_name][i][self.field].split(',')
+ id_ = int(id_)
+ else:
+ id_ = cache[self.model_name][i][self.field]
+ res[id_].append(i)
else:
ids3.append(i)
Index: trytond/tests/test_fields.py
===================================================================
--- a/trytond/tests/test_fields.py
+++ b/trytond/tests/test_fields.py
@@ -2504,6 +2504,12 @@
self.assertEqual(len(one2many1['targets']), 1)
target1_id, = one2many1['targets']
+ # Try with target1 stored in cache
+ target1 = one2many_target.browse(target1_id)
+ target1.origin
+ one2many1 = one2many.read(one2many1_id, ['targets'])
+ self.assertEqual(one2many1['targets'], [target1_id])
+
one2many_ids = one2many.search([
('targets', '=', 'target1'),
])
--
[email protected] mailing list