diff --git a/addons/crm/models/crm_lead_scoring_frequency.py b/addons/crm/models/crm_lead_scoring_frequency.py index fc6d0bdbbbe..85b5c77b0f2 100644 --- a/addons/crm/models/crm_lead_scoring_frequency.py +++ b/addons/crm/models/crm_lead_scoring_frequency.py @@ -18,4 +18,7 @@ class FrequencyField(models.Model): _description = 'Fields that can be used for predictive lead scoring computation' name = fields.Char(related="field_id.field_description") - field_id = fields.Many2one('ir.model.fields', domain=[('model_id.model', '=', 'crm.lead')], required=True) + field_id = fields.Many2one( + 'ir.model.fields', domain=[('model_id.model', '=', 'crm.lead')], required=True, + ondelete='cascade', + ) diff --git a/addons/google_drive/models/google_drive.py b/addons/google_drive/models/google_drive.py index 26246870da5..14573d42a82 100644 --- a/addons/google_drive/models/google_drive.py +++ b/addons/google_drive/models/google_drive.py @@ -175,7 +175,7 @@ class GoogleDrive(models.Model): return config_values name = fields.Char('Template Name', required=True) - model_id = fields.Many2one('ir.model', 'Model', required=True) + model_id = fields.Many2one('ir.model', 'Model', required=True, ondelete='cascade') model = fields.Char('Related Model', related='model_id.model', readonly=True) filter_id = fields.Many2one('ir.filters', 'Filter', domain="[('model_id', '=', model)]") google_drive_template_url = fields.Char('Template URL', required=True) diff --git a/addons/sms/models/sms_template.py b/addons/sms/models/sms_template.py index e1ba74d3bb1..cf2120c8a5e 100644 --- a/addons/sms/models/sms_template.py +++ b/addons/sms/models/sms_template.py @@ -20,7 +20,7 @@ class SMSTemplate(models.Model): model_id = fields.Many2one( 'ir.model', string='Applies to', required=True, domain=['&', ('is_mail_thread_sms', '=', True), ('transient', '=', False)], - help="The type of document this template can be used with") + help="The type of document this template can be used with", ondelete='cascade') model = fields.Char('Related Document Model', related='model_id.model', index=True, store=True, readonly=True) body = fields.Char('Body', translate=True, required=True) lang = fields.Char('Language', help="Use this field to either force a specific language (ISO code) or dynamically " diff --git a/odoo/addons/base/models/ir_actions.py b/odoo/addons/base/models/ir_actions.py index 5680c1f88e3..8c135d751af 100644 --- a/odoo/addons/base/models/ir_actions.py +++ b/odoo/addons/base/models/ir_actions.py @@ -576,7 +576,7 @@ class IrServerObjectLines(models.Model): _sequence = 'ir_actions_id_seq' server_id = fields.Many2one('ir.actions.server', string='Related Server Action', ondelete='cascade') - col1 = fields.Many2one('ir.model.fields', string='Field', required=True) + col1 = fields.Many2one('ir.model.fields', string='Field', required=True, ondelete='cascade') value = fields.Text(required=True, help="Expression containing a value specification. \n" "When Formula type is selected, this field may be a Python expression " " that can use the same values as for the code field on the server action.\n" diff --git a/odoo/addons/base/models/ir_model.py b/odoo/addons/base/models/ir_model.py index c441929a3ef..ccceb2c1479 100644 --- a/odoo/addons/base/models/ir_model.py +++ b/odoo/addons/base/models/ir_model.py @@ -1201,7 +1201,7 @@ class IrModelConstraint(models.Model): definition = fields.Char(help="PostgreSQL constraint definition") message = fields.Char(help="Error message returned when the constraint is violated.", translate=True) model = fields.Many2one('ir.model', required=True, ondelete="cascade", index=True) - module = fields.Many2one('ir.module.module', required=True, index=True) + module = fields.Many2one('ir.module.module', required=True, index=True, ondelete='cascade') type = fields.Char(string='Constraint Type', required=True, size=1, index=True, help="Type of the constraint: `f` for a foreign key, " "`u` for other constraints.") @@ -1337,8 +1337,8 @@ class IrModelRelation(models.Model): name = fields.Char(string='Relation Name', required=True, index=True, help="PostgreSQL table name implementing a many2many relation.") - model = fields.Many2one('ir.model', required=True, index=True) - module = fields.Many2one('ir.module.module', required=True, index=True) + model = fields.Many2one('ir.model', required=True, index=True, ondelete='cascade') + module = fields.Many2one('ir.module.module', required=True, index=True, ondelete='cascade') write_date = fields.Datetime() create_date = fields.Datetime() diff --git a/odoo/addons/test_new_api/models/test_new_api.py b/odoo/addons/test_new_api/models/test_new_api.py index 3f45466efa3..95a4cec4088 100644 --- a/odoo/addons/test_new_api/models/test_new_api.py +++ b/odoo/addons/test_new_api/models/test_new_api.py @@ -266,7 +266,7 @@ class Edition(models.Model): name = fields.Char() res_id = fields.Integer(required=True) - res_model_id = fields.Many2one('ir.model', required=True) + res_model_id = fields.Many2one('ir.model', required=True, ondelete='cascade') res_model = fields.Char(related='res_model_id.model', store=True, readonly=False)