diff --git a/odoo_scripts/import_jsonrpc.py b/odoo_scripts/import_jsonrpc.py index 1e540bc281fb2c922b05239251e21e756b25da44_b2Rvb19zY3JpcHRzL2ltcG9ydF9qc29ucnBjLnB5..9559e8b292df9bef3fc6fd79d12e0d62c3714dd5_b2Rvb19zY3JpcHRzL2ltcG9ydF9qc29ucnBjLnB5 100644 --- a/odoo_scripts/import_jsonrpc.py +++ b/odoo_scripts/import_jsonrpc.py @@ -7,6 +7,8 @@ import sys from typing import Callable, Dict, List, Tuple, Union +from odoorpc.error import RPCError + from . import logging_from_verbose, odoo_connect_parser, odoo_login from .importing import add_importing_file_parsing, extract_info_from_parsed @@ -54,6 +56,8 @@ imf_ids = imf.search( [("model", "=", model), ("name", "=", field_name)] ) + if not imf_ids: + raise Exception("No field {} in {}".format(field_name, model)) return imf.browse(imf_ids)[0] def _convert_identity(value): @@ -157,7 +161,11 @@ write_id = _ref(xmlid, False) if write_id: _logger.debug("Write %s (%d)", model, write_id) - o.env[model].write(write_id, values) + try: + o.env[model].write(write_id, values) + except RPCError: + _logger.error("Current values: %s", values) + raise wrote.append(write_id) else: _logger.debug("Creating a %s", model) @@ -161,7 +169,11 @@ wrote.append(write_id) else: _logger.debug("Creating a %s", model) - created_id = o.env[model].create(values) + try: + created_id = o.env[model].create(values) + except RPCError: + _logger.error("Current values: %s", values) + raise created.append(created_id) if xmlid: _logger.debug(