【问题标题】:Create a model that inherits two model in Odoo在 Odoo 中创建一个继承两个模型的模型
【发布时间】:2017-10-04 05:47:42
【问题描述】:

有没有办法创建一个继承两个modelmodel

#electric class
class Electric(models.Model):
    _name = 'electric'

    battery = fields.Integer()

#combustion class
class Combustion(models.Model):
    _name = 'combustion'

    fuel_tank = fields.Integer()

#inherit from electric and combustion
class Hybrid(models.Model):
    _name = 'hybrid'
    _inherit = 'combustion'
    _inherit = 'electric'

此代码不起作用。有没有办法做到这一点?

【问题讨论】:

    标签: python openerp odoo-8


    【解决方案1】:

    在 Odoo 中,多模型继承以下列方式执行..

    class Hybrid(models.Model):
        _name = 'hybrid'
        _inherit = ['combustion','electric']
    

    在多模型继承的情况下,您应该定义一个_name 属性。 原因是……

    如果 _name 与被继承类的值相同,它将进行基本继承。 如果您忘记添加_inherit,您将重新定义模型如果您的类_inherit 一个模型并且您设置了不同的_name,它将在新的数据库表中创建一个新模型。 如果您的类继承了许多模型,则必须设置 _name 如果您以这种方式覆盖现有模型,则可能会遇到一些麻烦,应该避免。最好使用它来创建继承自抽象模型的新类。

    【讨论】:

      猜你喜欢
      • 2021-06-18
      • 2018-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多