什么是Odoo

Odoo(前OpenERP)是欧洲开发的一款开源ERP软件,ODOO发展的初衷是为了提供SAP、Microsoft Dynamics等商业ERP软件的开源替代产品。它使用Python语言开发,数据库采用开源的PostgreSQL,系统以GNU GPL开 源协议发布。

安装odoo

安装odoo的方法分为Linux、Mac、Windows下,在官网 https://www.odoo.com/ 中有详细的介绍。

开始创建一个模块

首先包含两个重要的文件,_init_.py和_openerp_.py

记录要点

1

openerp.py 中有字段:

application:True 为真,列出的模块是作为一个应用程序。通常,这是用于中央模块的功能区域。
 auto_install:True 为真,它表明这是一种“胶水”模块,这是安装时自动安装所有的依赖关系。
 ├── _init_.py
 ├── _openerp_.py
 ├── controllers
 │ └── _init_.py
 ├── data
 ├── i18n
 ├── models
 │ └──_init_.py
 ├── security
 ├── static
 │ └── description
 └── views


data:包含其他数据文件与模块初始数据
demo:包含数据文件和演示数据,用于测试,培训或模块的评估
i18n:就是Odoo用作翻译的地方
static:是所有网络资产预计将被放置的地方,如css,js,image文件。

2

在自己定义的model中,可以增加业务逻辑,也可以重写业务逻辑,如create(),write()等
many2many中,在视图展示中,必须咋fields中加上 widget=“many2many_tags”

model中:
 _description 人性化的标题
 publish_ids=fields.Many2one(
 ‘res.partner’, string=‘Publisher’,
 optional:
 ondelete=‘set null’,
 context={},
 domain=[],
 )
 book_ids = fields.One2many(
 ‘library.book’, ‘publisher_id’,
 string=‘Published Books’)


domain是一个过滤器,可以选择列出我们想要的值。
default属性中:令默认= _compute_default,_compute_default 默认是一个方法定义在模型在字段定义之前。
Selection字段还接受一个函数引用,而不是一个列表,作为其“选择”的属性。

对于Date字段:
fields.Date.from_string(string_value) 表示接受一个字符串输出为日期格式。
 fields.Date.to_string(date_value) 表示接受一个日期输出为一个字符串。
 fields.Date.today() 表示显示目前的时间。
 fields.Date.context_today(record) 根据时区记录的上下文,字符串返回当前时间的日期。对于Datetime字段:
fields.Datetime.from_string(string_value) 表示接受一个字符串输出为日期时间格式
 f fields.Datetime.to_string(datetime_value) 表示接受一个日期时间输出为一个字符串
 f fields.Datetime.now() 输出目前的时间。
Many2one字段:

ondelete属性:决定了当记录被删除后会发生什么。默认值为’set null’,为字段设置了一个空值。也可以设置’restrict’,保证字段不会被删除,或者是’cascade’,导致相关数据均被删除。

One2many 是many2one的反向关系,

包含三个字段:1,相关联的模型名称。2,该模型中Many2one中的字段名称。3,在用户交互方面限制显示记录的个数。

Many2many是多对多的关系