In the module website, the relational field website_id is defined twice, once for ir_ui_view and a second time for res_config_settings, for the former we perform an ondelete='cascade', which means that when the website model is unlinked, the field is unlinked as well. This is not done for the website_id field in res_config_settings, which instead defaults to setting the field to NULL, which violates a not-null constraint and therefore causes issues when trying to modify/save settings. To solve this, a hard delete of the ir_model_field website_id is performed during the uninstall process of the website module. Fixes #21905 OPW 803018
16 lines
410 B
Python
16 lines
410 B
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details
|
|
|
|
from odoo import api, models
|
|
|
|
|
|
# This is a nasty hack, targeted for V11 only
|
|
class IrModel(models.Model):
|
|
_inherit = 'ir.model'
|
|
|
|
@api.multi
|
|
def unlink(self):
|
|
self.env.cr.execute(
|
|
"DELETE FROM ir_model_fields WHERE name='website_id'")
|
|
return super(IrModel, self).unlink()
|