Impacted versions: all

On the model "ir.model.field" there is a field called "copy" : https://github.com/odoo/odoo/blob/master/odoo/addons/base/models/ir_model.py#L322

This name conflict with the method "copy" that exist browse record
https://github.com/odoo/odoo/blob/master/odoo/models.py#L4203

This make impossible to use the method copy on ir.model.field
And also raise warning when we make an inherits of the class ir.model.field (https://github.com/odoo/odoo/blob/master/odoo/models.py) as the field conflict with the method name

@odony @rco-odoo 

external_ids.unlink()
                        continue
                    if field.name in models.LOG_ACCESS_COLUMNS and field.model in self.env and self.env[field.model]._log_access:
                        continue
                    if field.name == 'id':
                        continue
                _logger.info('Deleting %s@%s', res_id, model)
                try:
                    self._cr.execute('SAVEPOINT record_unlink_save')
                    self.env[model].browse(res_id).unlink()
                except Exception:
                    _logger.info('Unable to delete %s@%s', res_id, model, exc_info=True)
                    undeletable += external_ids
                    self._cr.execute('ROLLBACK TO SAVEPOINT record_unlink_save')
                else:
                    self._cr.execute('RELEASE SAVEPOINT record_unlink_save')
            return undeletable
        
        undeletable += unlink_if_refcount(item for item in to_unlink if item[0] not in ('ir.model', 'ir.model.fields', 'ir.model.constraint'))
        undeletable += unlink_if_refcount(item for item in to_unlink if item[0] == 'ir.model.constraint')
        modules = self.env['ir.module.module'].search([('name', 'in', modules_to_remove)])
        constraints = self.env['ir.model.constraint'].search([('module', 'in', modules.ids)])
        constraints._module_data_uninstall()
        undeletable += unlink_if_refcount(item for item in to_unlink if item[0] == 'ir.model.fields')
        relations = self.env['ir.model.relation'].search([('module', 'in', modules.ids)])
        relations._module_data_uninstall()
        undeletable += unlink_if_refcount(item for item in to_unlink if item[0] == 'ir.model')
        (datas - undeletable).unlink()
    @api.model
    def _process_end(self, modules):