The signature _check_recursion already exists in odoo/models.py So calling _check_recursion, the function which checks the constraint on associate_member overwrote _check_recursion in "res.partner" model and the function _check_parent_id defined in "res.partner" was completely wrong because it needs _check_recursion defined in models.py opw:710524