I am facing a issue when i want to upgrade odoo with -u all option or from front end by upgrading base module. An error is generating during that process from odoo delivery module. how to solve it?
Odoo Server ErrorTraceback (most recent call last): File "/odoo12/odoo/odoo/tools/convert.py", line 758, in parse self._tags[rec.tag](rec, de, mode=mode) File "/odoo12/odoo/odoo/tools/convert.py", line 663, in _tag_record record = model.with_context(rec_context)._load_records([data], self.mode == 'update') File "/odoo12/odoo/odoo/models.py", line 3908, in _load_records records = self._load_records_create([data['values'] for data in to_create]) File "/odoo12/odoo/odoo/models.py", line 3822, in _load_records_create return self.create(values) File "<decorator-gen-3>", line 2, in create File "/odoo12/odoo/odoo/api.py", line 462, in _model_create_multi return create(self, arg) File "/odoo12/odoo/odoo/models.py", line 3603, in create records = self._create(data_list) File "/odoo12/odoo/odoo/models.py", line 3703, in _create cr.execute(query, params) File "/odoo12/odoo/odoo/sql_db.py", line 148, in wrapper return f(self, *args, **kwargs) File "/odoo12/odoo/odoo/sql_db.py", line 225, in execute res = self._obj.execute(query, params) psycopg2.IntegrityError: insert or update on table "delivery_carrier" violates foreign key constraint "delivery_carrier_product_id_fkey" DETAIL: Key (product_id)=(1) is not present in table "product_product". During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/odoo12/odoo/odoo/http.py", line 656, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/odoo12/odoo/odoo/http.py", line 314, in _handle_exception raise pycompat.reraise(type(exception), exception, sys.exc_info()[2]) File "/odoo12/odoo/odoo/tools/pycompat.py", line 87, in reraise raise value File "/odoo12/odoo/odoo/http.py", line 698, in dispatch result = self._call_function(**self.params) File "/odoo12/odoo/odoo/http.py", line 346, in _call_function return checked_call(self.db, *args, **kwargs) File "/odoo12/odoo/odoo/service/model.py", line 98, in wrapper return f(dbname, *args, **kwargs) File "/odoo12/odoo/odoo/http.py", line 339, in checked_call result = self.endpoint(*a, **kw) File "/odoo12/odoo/odoo/http.py", line 941, in __call__ return self.method(*args, **kw) File "/odoo12/odoo/odoo/http.py", line 519, in response_wrap response = f(*args, **kw) File "/odoo12/odoo/addons/web/controllers/main.py", line 967, in call_button action = self._call_kw(model, method, args, {}) File "/odoo12/odoo/addons/web/controllers/main.py", line 955, in _call_kw return call_kw(request.env[model], method, args, kwargs) File "/odoo12/odoo/odoo/api.py", line 759, in call_kw return _call_kw_multi(method, model, args, kwargs) File "/odoo12/odoo/odoo/api.py", line 746, in _call_kw_multi result = method(recs, *args, **kwargs) File "<decorator-gen-67>", line 2, in button_immediate_upgrade File "/odoo12/odoo/odoo/addons/base/models/ir_module.py", line 74, in check_and_log return method(self, *args, **kwargs) File "/odoo12/odoo/odoo/addons/base/models/ir_module.py", line 627, in button_immediate_upgrade return self._button_immediate_function(type(self).button_upgrade) File "/odoo12/odoo/odoo/addons/base/models/ir_module.py", line 561, in _button_immediate_function modules.registry.Registry.new(self._cr.dbname, update_module=True) File "/odoo12/odoo/odoo/modules/registry.py", line 86, in new odoo.modules.load_modules(registry._db, force_demo, status, update_module) File "/odoo12/odoo/odoo/modules/loading.py", line 417, in load_modules force, status, report, loaded_modules, update_module, models_to_check) File "/odoo12/odoo/odoo/modules/loading.py", line 313, in load_marked_modules perform_checks=perform_checks, models_to_check=models_to_check File "/odoo12/odoo/odoo/modules/loading.py", line 222, in load_module_graph load_data(cr, idref, mode, kind='data', package=package, report=report) File "/odoo12/odoo/odoo/modules/loading.py", line 68, in load_data tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind, report) File "/odoo12/odoo/odoo/tools/convert.py", line 802, in convert_file convert_xml_import(cr, module, fp, idref, mode, noupdate, report) File "/odoo12/odoo/odoo/tools/convert.py", line 865, in convert_xml_import obj.parse(doc.getroot(), mode=mode) File "/odoo12/odoo/odoo/tools/convert.py", line 755, in parse self.parse(rec, mode) File "/odoo12/odoo/odoo/tools/convert.py", line 764, in parse exc_info[2] File "/odoo12/odoo/odoo/tools/pycompat.py", line 86, in reraise raise value.with_traceback(tb) File "/odoo12/odoo/odoo/tools/convert.py", line 758, in parse self._tags[rec.tag](rec, de, mode=mode) File "/odoo12/odoo/odoo/tools/convert.py", line 663, in _tag_record record = model.with_context(rec_context)._load_records([data], self.mode == 'update') File "/odoo12/odoo/odoo/models.py", line 3908, in _load_records records = self._load_records_create([data['values'] for data in to_create]) File "/odoo12/odoo/odoo/models.py", line 3822, in _load_records_create return self.create(values) File "<decorator-gen-3>", line 2, in create File "/odoo12/odoo/odoo/api.py", line 462, in _model_create_multi return create(self, arg) File "/odoo12/odoo/odoo/models.py", line 3603, in create records = self._create(data_list) File "/odoo12/odoo/odoo/models.py", line 3703, in _create cr.execute(query, params) File "/odoo12/odoo/odoo/sql_db.py", line 148, in wrapper return f(self, *args, **kwargs) File "/odoo12/odoo/odoo/sql_db.py", line 225, in execute res = self._obj.execute(query, params) odoo.tools.convert.ParseError: "insert or update on table "delivery_carrier" violates foreign key constraint "delivery_carrier_product_id_fkey" DETAIL: Key (product_id)=(1) is not present in table "product_product". " while parsing /odoo12/odoo/addons/delivery/data/delivery_data.xml:17, near <record id="free_delivery_carrier" model="delivery.carrier"> <field name="name">Free delivery charges</field> <field name="fixed_price">0.0</field> <field name="free_over" eval="True"/> <field name="amount">1000</field> <field name="sequence">1</field> <field name="delivery_type">fixed</field> <field name="product_id" ref="delivery.product_product_delivery"/> </record>
The issue related to a default product may deleted so you need to create a product with id product_product_delivery. You can import it from excel and set the id to product_product_delivery
<record id="product_product_delivery" model="product.product">
<field name="name">Free delivery charges</field>
<field name="default_code">Delivery_007</field>
<field name="type">service</field>
<field name="categ_id" ref="delivery.product_category_deliveries"/>
<field name="sale_ok" eval="False"/>
<field name="purchase_ok" eval="False"/>
<field name="list_price">0.0</field>
Hey Ishfaq,
Try to upgrade a single module one by one seeing in the traceback logs. For example, -u delivery. Generally, it works. Hope it works for you too.
Note: You should avoid upgrading all modules using -u all unless and until there's no scope or you don't see your changes.
Thank you!
Regards,
Email: odoo@aktivsoftware.com
Skype: kalpeshmaheshwari