diff --git a/trytond/model/modelstorage.py b/trytond/model/modelstorage.py index f910d5d587..a05b2d3efd 100644 --- a/trytond/model/modelstorage.py +++ b/trytond/model/modelstorage.py @@ -592,7 +592,7 @@ class ModelStorage(Model): warn('too_many_relations_found', value, relation) res = None else: - res = '%s,%s' % (relation, str(res[0])) + res = '%s,%s' % (relation, res[0].id) return res def get_by_id(value): diff --git a/trytond/tests/test_importdata.py b/trytond/tests/test_importdata.py index 71b8e96237..776dfa526f 100644 --- a/trytond/tests/test_importdata.py +++ b/trytond/tests/test_importdata.py @@ -364,19 +364,34 @@ class ImportDataTestCase(unittest.TestCase): self.assertEqual(self.reference.import_data(['reference'], [['test.import_data.reference.selection,Test']]), (1, 0, 0, 0)) + reference, = self.reference.search([]) + self.assertEqual(reference.reference.__name__, + 'test.import_data.reference.selection') + transaction.cursor.rollback() self.assertEqual(self.reference.import_data(['reference:id'], [['test.import_data.reference.selection,' 'test.import_data_reference_selection_test']]), (1, 0, 0, 0)) + reference, = self.reference.search([]) + self.assertEqual(reference.reference.__name__, + 'test.import_data.reference.selection') + transaction.cursor.rollback() self.assertEqual(self.reference.import_data(['reference'], [['']]), (1, 0, 0, 0)) + reference, = self.reference.search([]) + self.assertEqual(reference.reference, None) + transaction.cursor.rollback() self.assertEqual(self.reference.import_data(['reference'], [['test.import_data.reference.selection,Test'], ['test.import_data.reference.selection,Test']]), (2, 0, 0, 0)) + for reference in self.reference.search([]): + self.assertEqual(reference.reference.__name__, + 'test.import_data.reference.selection') + transaction.cursor.rollback() self.assertEqual(self.reference.import_data(['reference'], [['test.import_data.reference.selection,foo']])[0], -1)