前言
Odoo是什么
Odoo是一个开放源码且功能完善的企业级管理软件平台,它不仅提供了ERP常规模块,而且还允许使用人员进行灵活的实施配置。对于前台配置解决不了的需求,还可以通过Odoo提供的平台进行二次开发。
我曾在SAP领域工作了8年,参与和主导过的项目金额超过千万元,因此我能深刻体会到一个好的ERP产品在实施过程中是多么重要。目前国内虽然也有不错的ERP产品,但全是靠厂商及其合作伙伴来实施并进行二次开发,如果甲方想要自己培养技术人员则非常困难,很少有技术人员愿意将自己的职业发展方向捆绑在一个封闭又落后的技术框架上。这时候,Odoo开源及其使用Python开发的优点就显现了出来,不仅企业可以免费配置使用,而且还可以方便地找到二次开发人员,甚至也可以找到具有学习热情的内部人员。毕竟Python的魅力及其在互联网领域越来越广的应用,决定了以后Odoo开发的难度会越来越低。
Odoo良好的可扩展性可以媲美任何主流的ERP产品,其允许按照模块实现新的需求;在二次开发的过程中,如果要修改已有功能的话,也不需要直接修改源码,只需使用继承的方式来进行增强和扩展,或者在子类中修改字段或方法。
Odoo从其前身OpenERP开始,就受到了来自社区的活跃更新的支持;目前,Odoo有数千个社区模块,几乎所有的主题都能找到相应的社区模块,这也反过来进一步吸引了更多的人员参与到Odoo的社区中来。
谁适合阅读本书
本书作为Odoo的开发指南,按照由简入难的步骤对Odoo的开发进行了全面介绍,不仅可以让你快速入门Odoo,同时也可以作为你进行项目实战的不错的参考资料。
本书适合于想使用Odoo进行开发的开发者,在阅读本书前甚至不需要具备Python基础编程知识,因为书中专门有一章(第4章)对Python进行了介绍。书中所列案例使用的代码简单明了,对于使用中会遇到的一些“坑”也给出了特别说明。
同时,本书也适合于Odoo的关键用户和最终用户,如果你在拥有Odoo系统的使用经验的前提下,还希望提升自己的开发技能,以便日后在工作中能够完成更为复杂的需求实现,那么本书将是非常好的参考用书。
如果你已经是Odoo开发人员,那么可以将本书作为不同版本之间的对比用书,毕竟从Odoo8到目前的Odoo12有了较大的变化。
最后,在校大学生也可以使用本书制作自己的案例、编写论文,甚至直接作为未来工作的编程平台。Odoo在国内的市场越来越大,特别是非一线城市对于Odoo人才的需求也越来越大,如果作为学生的你不想将自己未来的职场定位在北上广深,那么Odoo将是一个非常不错的选择。
如何阅读本书
本书在逻辑上分为三篇:基础篇、技术研发篇和实战篇。基础篇(第1~5章)包括了Odoo的介绍及安装配置、Python基础和PostgreSQL数据库介绍。不了解Odoo的读者请认真阅读第一篇,以免在后面的章节中出现不了解的名词。特别是没有Python基础的读者,最好能够认真学习第4章。
技术研发篇(第6~14章)则专注在Odoo的技术范畴内,包括了从视图到ORM和安全配置的全方位介绍,并且都是以bug管理系统的实现为示例来进行讲解的,读者在学习本篇内容时应边参考本书边动手实现。如果读者已经有Odoo基础,则可以直接下载本书的源码,在遇到不理解的内容时再查找相应知识点。
而对于实战篇(第15~19章),其内容从培训机构的管理系统的需求分析开始,再到划分模块,最后到具体的逻辑和视图的实现,非常适合有充足时间的初学者,特别是学生。
读者在阅读本书时,要注意源码的使用,具体的源码下载方式会在后续的“源码与勘误支持”部分提供。
在阅读本书的过程中,读者有任何疑问都可以访问作者网站http://www.scott-odoo.com,以进行提问和交流。
源码与勘误支持
书中提供了核心源码,而且为了便于阅读特意增加了行号。需要读者注意的是,因为排版的问题,可能将原本属于一行的代码自动换行成两行,所以请读者以行号为准,凡是不带行号的代码说明都属于上一行。
本书的示例代码以及实战项目的源码可以到GitHub下载,下载地址为:
https://github.com/ScottAI/Odoo-Python-ERP-
实战项目同时支持Odoo11和Odoo12,Odoo端的下载地址如下:
https://github.com/ScottAI/-Odoo---
实战项目的小程序端下载地址为:
https://github.com/ScottAI/lexuebao-odoo-wechat
由于作者的水平有限,加之撰写时间仓促,难免有错误或不合理之处,欢迎读者指正,你可以通过以下任何一种方式联系到作者:
作者的QQ:784680552
作者的邮箱:wkdljl@163.com
作者的个人博客:www.scott-odoo.com