Skip to Content
Menu
This question has been flagged

Hi all, I need to inherit parent class attributes and functions to  a child class but to create a child entry, i have to create first the parent reference and child attribut (here: amount and is_active).

I would like to automatically create the parent object and  child from on form. ie a form with name, code, amount and is_active

We put all required attributes and asked odoo to create parent and child references.

Any suggestion please ?

Best regards

PS: I'm using odoo15

class ParentModel(models.Model):
_description = "Parent "
_name = "generic.parent"
name = fields.Char("Name", required=True)
code = fields.Char("Code", default="/", required=True)


class ChildModel(models.Model):
_description = "Child Model"
_inherits = {'generic.parent': 'parent_id'}
_name = "child.name"
amount = fields.Float("amount", default=0.0)
is_active = fields.Boolean("Is Active ?", default=False, required=True)
parent_id = fields.Many2one('generic.parent', string='Parent ID', ondelete='cascade')


Avatar
Discard

Read the concept of Odoo Inheritance: https://goo.gl/4Zyc9d

Best Answer

Inheritance in odoo models is not like the abstraction of other python frameworks such as Django and etc. The closest solution is for ParentClass to inherit from AbstractModel like:

class ParentModel(models.AbstractModel):
    _name = "generic.parent"
    name = fields.Char("Name", required=True)
    code = fields.Char("Code", default="/", required=True)


class ChildModel(models.Model):
  _inherit = 'generic.parent'
    amount = fields.Float("amount", default=0.0)
    is_active = fields.Boolean("Is Active ?", default=False, required=True)


Avatar
Discard
Related Posts Replies Views Activity
1
Oct 22
2169
1
Sep 22
2103
1
Aug 22
2044
1
Dec 23
1002
0
Sep 23
496