官术网_书友最值得收藏!

Modifying and extending modules

In the example that will follow, we will create a new module with as few dependencies as possible.

This will not be the typical case, however. The most frequent situation is where modifications or extensions are needed on an already existing module to fit some specific use cases.

The golden rule is that we shouldn't modify existing modules by changing them directly. It's considered bad practice to modify existing modules. This is especially true for the official modules provided by Odoo. Doing so does not allow a clear separation between the original module code and our modifications, and makes it difficult to apply upgrades.

Instead, we should create new modules to be applied on top of the modules we want to modify, and implement those changes. This is one of Odoo's main strengths: it provides "inheritance" mechanisms that allow custom modules to extend existing modules, either official or from the community. The inheritance is possible at all levels data models, business logic, and user interface layers.

Right now, we will create a completely new module, without extending any existing module, to focus on the different parts and steps involved in module creation. We will just take a brief look at each part, since each will be studied in more detail in the later chapters. Once we are comfortable with creating a new module, we can dive into the inheritance mechanisms, which will be introduced in the next chapter.

主站蜘蛛池模板: 毕节市| 灌南县| 祁阳县| 庆云县| 香河县| 阿勒泰市| 中卫市| 罗定市| 陵川县| 高尔夫| 东安县| 同德县| 清丰县| 石狮市| 彰化市| 南汇区| 共和县| 阿巴嘎旗| 邛崃市| 大邑县| 临洮县| 寿宁县| 万宁市| 彩票| 霍城县| 彭州市| 鄂伦春自治旗| 盘锦市| 和平县| 哈巴河县| 翁源县| 运城市| 犍为县| 新津县| 惠东县| 麻江县| 克山县| 马公市| 林芝县| 安阳市| 思茅市|