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')