From 0ce6eea5bd451ac83a4fee269d0b994ed1d3b752 Mon Sep 17 00:00:00 2001 From: Nans Lefebvre Date: Wed, 30 Oct 2019 13:51:10 +0000 Subject: [PATCH] [FIX] ir_fields: import many2one_reference fields Since a many2one_reference is simply an int, we can defer _str_to_many2one_reference to _str_to_integer. Note that to really validate the integer, we need the model_field of the field, which should be stored in the record's values. To get this information, _extract_records would have to be modified. For the reported use-case, it does not matter as the create of the message record checks for the existence of the related record, so the validation works as expected. Better support for this type of fields would be to allow for import/export of xml_ids, which would avoid the need for the model. opw 2087353 closes odoo/odoo#39601 X-original-commit: 77f616e9359272b2598d414672cffbc06cee2a33 Signed-off-by: Nans Lefebvre (len) --- odoo/addons/base/models/ir_fields.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/odoo/addons/base/models/ir_fields.py b/odoo/addons/base/models/ir_fields.py index 04c23ae1020..da654a42e09 100644 --- a/odoo/addons/base/models/ir_fields.py +++ b/odoo/addons/base/models/ir_fields.py @@ -416,6 +416,10 @@ class IrFieldsConverter(models.AbstractModel): id, _, w2 = self.db_id_for(model, field, subfield, record[subfield]) return id, w1 + w2 + @api.model + def _str_to_many2one_reference(self, model, field, value): + return self._str_to_integer(model, field, value) + @api.model def _str_to_many2many(self, model, field, value): [record] = value