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
""" Reflect the given constraint, to make it possible to delete it later
            when the module is uninstalled. ``type`` is either 'f' or 'u'
            depending on the constraint being a foreign key or not.
        """
        if not module:
            
            
            return
        assert type in ('f', 'u')
        cr = self._cr
        query = """ SELECT type, definition
                    FROM ir_model_constraint c, ir_module_module m
                    WHERE c.module=m.id AND c.name=%s AND m.name=%s """
        cr.execute(query, (conname, module))
        cons = cr.dictfetchone()
        if not cons:
            query = """ INSERT INTO ir_model_constraint
                            (name, date_init, date_update, module, model, type, definition)
                        VALUES (%s, now() AT TIME ZONE 'UTC', now() AT TIME ZONE 'UTC',
                            (SELECT id FROM ir_module_module WHERE name=%s),
                            (SELECT id FROM ir_model WHERE model=%s), %s, %s) """
            cr.execute(query, (conname, module, model._name, type, definition))
        elif cons['type'] != type or (definition and cons['definition'] != definition):
            query = """ UPDATE ir_model_constraint
                        SET date_update=now() AT TIME ZONE 'UTC', type=%s, definition=%s
                        WHERE name=%s AND module=(SELECT id FROM ir_module_module WHERE name=%s) """
            cr.execute(query, (type, definition, conname, module))
    def _reflect_model(self, model):