原模型继承
第一步我们来为 Book 模型添加 is_available 布尔型字段。这里使用经典的 in-place 模型继承。该字段值可通过图书借出和归还记录自动计算,但现在我们先使用普通字段。要继承已有模型,需要在 Python 类中添加一个_inherit 属性来标明所继承的模型。新类继承父 Odoo 模型的所有功能,仅需在其中声明要做的修改。在任何地方使用该模型修改都可用,可以认为这类继承是对已有模型的引用并在原处做了一些修改
为模型添加字段
通过 Python 类来新建模型,继承模型同样是通过 Python 以及 Odoo 自有的继承机制,即_inherit 类属性。该属性标明所继承的模型。新的类继承父 Odoo 模型的所有功能,仅需声明要做修改的部分。编码指南推荐为每个模型创建一个 Python 文件,因此我们添加
library_member/models/library_book.py 文件来继承原模型,首先创建__init__.py 文件来导入该文件:
1、 添加 library_member/__init__.py 文件来导入 models 子文件夹:
from . import models
2、添加 library_member/models/__init__.py 文件子文件夹中的代码文件:
from . import library_book
3、创建 library_member/models/library_book.py 文件来继承 library.book 模型:
from odoo import fields, models
class Book(models.Model):
_inherit = 'library.book'
is_available = fields.Boolean('Is Available?')
使用