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 

odoo/addons/base/models/ir_model.py
""" Return the names of visible groups which have been granted
            ``access_mode`` on the model ``model_name``.
           :rtype: list
        """
        assert access_mode in ('read', 'write', 'create', 'unlink'), 'Invalid access mode'
        self._cr.execute("""SELECT c.name, g.name
                            FROM ir_model_access a
                                JOIN ir_model m ON (a.model_id=m.id)
                                JOIN res_groups g ON (a.group_id=g.id)
                                LEFT JOIN ir_module_category c ON (c.id=g.category_id)
                            WHERE m.model=%s AND a.active IS TRUE AND a.perm_""" + access_mode,
                         (model_name,))
        return [('%s/%s' % x) if x[0] else x[1] for x in self._cr.fetchall()]
    
    
    
    
    @api.model
    @tools.ormcache_context('self._uid', 'model', 'mode', 'raise_exception', keys=('lang',))
    def check(self, model, mode='read', raise_exception=True):