Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
1 Ответить
2764 Представления

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


Аватар
Отменить

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

Лучший ответ

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)


Аватар
Отменить
Related Posts Ответы Просмотры Активность
1
окт. 22
3086
1
сент. 22
3177
1
авг. 22
3307
1
дек. 23
2534
0
сент. 23
1081