Skip to Content
Menu
This question has been flagged
2 Replies
13647 Views

when i m delete my module from local modules, get like this error popup

odoo warning !

Integrity Error

The operation cannot be completed, probably due to the following:
- deletion: you may be trying to delete a record while other records still reference it
- creation/update: a mandatory field is not correctly set

[object with reference: ir.model.constraint - ir.model.constraint]

Avatar
Discard
Best Answer

The reason of this behaviour is as follows,

Earlier you might have added one referential field and restarted the server so that field ( for example, Many2One ) created with constraint of foreign key in database. Now for some reason you changed the column name or delete that column, so the reference of that constraint is still there in postgresql database. 

Now when you going to uninstall the module, system will go to clear ir.model & ir.model.fields entries, which are belongs to that module. But the column which is not available in py but constraint will be there under ir.model.constraint model. 

The solution of this could be,

1) Go to Settings >> Technical >> Database Structure >> Model Constraints 

2) Find the constraint in the Module, which you are going to uninstall.

3) Delete the constraint.

4) Uninstall the module.

It should be work now unless you are fail to explain your problem clearly.

I am sure this will help you!

 

 

Avatar
Discard
Author Best Answer

thanks , i was delete that modules..

and i have one more doubt when i uninstall the modules get like this error.how to fix this..

Odoo

Odoo Server Error

Traceback (most recent call last): File "/home/starling/odoo/openerp/http.py", line 524, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/home/starling/odoo/openerp/http.py", line 545, in dispatch result = self._call_function(**self.params) File "/home/starling/odoo/openerp/http.py", line 301, in _call_function return checked_call(self.db, *args, **kwargs) File "/home/starling/odoo/openerp/service/model.py", line 113, in wrapper return f(dbname, *args, **kwargs) File "/home/starling/odoo/openerp/http.py", line 298, in checked_call return self.endpoint(*a, **kw) File "/home/starling/odoo/openerp/http.py", line 761, in __call__ return self.method(*args, **kw) File "/home/starling/odoo/openerp/http.py", line 394, in response_wrap response = f(*args, **kw) File "/home/starling/odoo/addons/web/controllers/main.py", line 953, in call_button action = self._call_kw(model, method, args, {}) File "/home/starling/odoo/addons/web/controllers/main.py", line 941, in _call_kw return getattr(request.registry.get(model), method)(request.cr, request.uid, *args, **kwargs) File "/home/starling/odoo/openerp/api.py", line 237, in wrapper return old_api(self, *args, **kwargs) File "/home/starling/odoo/openerp/addons/base/module/wizard/base_module_upgrade.py", line 105, in upgrade_module openerp.modules.registry.RegistryManager.new(cr.dbname, update_module=True) File "/home/starling/odoo/openerp/modules/registry.py", line 346, in new openerp.modules.load_modules(registry._db, force_demo, status, update_module) File "/home/starling/odoo/openerp/modules/loading.py", line 431, in load_modules registry['ir.module.module'].module_uninstall(cr, SUPERUSER_ID, modules_to_remove.values()) File "/home/starling/odoo/openerp/api.py", line 237, in wrapper return old_api(self, *args, **kwargs) File "/home/starling/odoo/openerp/addons/base/module/module.py", line 462, in module_uninstall ir_model_data._module_data_uninstall(cr, uid, modules_to_remove, context) File "/home/starling/odoo/openerp/api.py", line 237, in wrapper return old_api(self, *args, **kwargs) File "/home/starling/odoo/openerp/addons/base/ir/ir_model.py", line 1198, in _module_data_uninstall unlink_if_refcount((model, res_id) for model, res_id in to_unlink File "/home/starling/odoo/openerp/addons/base/ir/ir_model.py", line 1171, in unlink_if_refcount external_ids = self.search(cr, uid, [('model', '=', model),('res_id', '=', res_id)]) File "/home/starling/odoo/openerp/api.py", line 237, in wrapper return old_api(self, *args, **kwargs) File "/home/starling/odoo/openerp/models.py", line 1653, in search return self._search(cr, user, args, offset=offset, limit=limit, order=order, context=context, count=count) File "/home/starling/odoo/openerp/api.py", line 237, in wrapper return old_api(self, *args, **kwargs) File "/home/starling/odoo/openerp/models.py", line 4587, in _search cr.execute(query_str, where_clause_params) File "/home/starling/odoo/openerp/sql_db.py", line 158, in wrapper return f(self, *args, **kwargs) File "/home/starling/odoo/openerp/sql_db.py", line 234, in execute res = self._obj.execute(query, params) InternalError: current transaction is aborted, commands ignored until end of transaction block

Avatar
Discard