Getting ready

You need to know the structure of the models for which you want to create a record, especially their names and types as well as any constraints existing on these fields (for example, whether some of them are mandatory). The res.partner model defined in Odoo has a very large number of fields, and to keep things simple, we will only use a few of these. To help you follow the recipe, here's a restricted definition of the model we will use in this recipe:

class ResPartner(models.Model): 
    _name = 'res.partner' 
    name = fields.Char('Name', required=True) 
    email = fields.Char('Email') 
    date = fields.Date('Date') 
    is_company = fields.Boolean(
'Is a company',
help="Check if the contact is a company, "
"otherwise it is a person"
) parent_id = fields.Many2one('res.partner', 'Related Company') child_ids = fields.One2many('res.partner', 'parent_id', 'Contacts')