Odoo 创建新模块-创建我们第一个模块

Դ未知

ߣOdoo

13

2020-02-23 13:06:49

odoo创建新模块步骤-创建我们的第一个模块

环境:PostgreSQL+Pycharm+MacOS

目标:完成第一个"请假"模块的创建

步骤:

  1. 新建文件夹-用于存放自己创建的所有模块
  2. 命令生成新模块
  3. 设置 models
  4. 设置 views
  5. 设置 security
  6. 设置__manifest__.py
  7. 运行安装模块
  8. 完成

下来来详细说明:

01

新建文件夹myaddons

这没什么好说的,自己创建的模块最好不要放到 odoo本身模块路径下面,不易维护。以后我们自己创建的模块都放在这个文件夹下面。

Odoo 创建新模块-创建我们第一个模块

 

重要:设置一下 odoo.conf 中的 addons_path,添加 myaddons 的路径,否则 odoo 无法找到你添加的模块

Odoo 创建新模块-创建我们第一个模块

 

02

创建新模块-scaffold

命令行:./odoo-bin scaffold qingjia myaddons

Odoo 创建新模块-创建我们第一个模块

 

说明:

scaffold: Odoo提供的一种机制来帮助建立一个新的空模块

qingjia: 自己定义的模块名称

myaddons: 文件夹路径

接下来我们可以看到 qingjia 模块中的一堆文件,下面来一项项进行说明

03

models

用于记录Odoo模型名称,定义数据库字段

请假模块我们需要定义字段:申请人,请假天数,开始时间,请假事由

Odoo 创建新模块-创建我们第一个模块

 

说明:

_name: 设置数据库表名。用.隔开,在数据库中表示为 qingjia_qingjiadan

_description: 设置描述

后面是定义各种字段的类型,这个放以后来详细说明

04

View

Odoo视图设置,展示给用户的视图,我们来定义一个简单的tree 与 form 视图

  • tree 视图
Odoo 创建新模块-创建我们第一个模块

 

这是一部分代码,先进行一下说明再往后面写

odoo视图使用的 xml 文件

<field name="name">请假单 list</field>

这里定义 tree 视图,表格的标题

<field name="model">qingjia.qingjiadan</field>

定义关联的 model 数据表,与 models 中的_name一致

Odoo 创建新模块-创建我们第一个模块

 

定义在表格中显示的字段,name 关联到 models 中定义的字段名

  • form 视图
Odoo 创建新模块-创建我们第一个模块

 

结构与上面类似,这里就不做说明了。

  • 操作

odo

说明:

定义对tree与 form 的操作,操作id 与菜单相关联。这里定义了“请假单”是“请假”的二级菜单

05

Secrity

这里是定义访问权限的地方,以后会详细说明

Odoo 创建新模块-创建我们第一个模块

 

说明:id,与 name 可以自己命名,一般以数据表名称来命名。

重点是 model_id,只能以 model_+表名形式。这里我们 models 的_name 定义的是qingjia.qingjiadan。所以这部分我们以 model_qingjia_qingjiadan 来命名。

后面的 1,1,1,1分别代表上面的读,写,创建,删除权限。一般结合用户组来使用

06

__manifest__.py

Odoo 创建新模块-创建我们第一个模块

 

说明:

前面都是定义一些模块的基本信息

data 中将定义的视图 xml 文件,与security 的访问控制文件放进来,这样才能加载。注意逗号分隔

07

运行与安装模块

上一篇文章有介绍,这里还是可以看一下设置。

Odoo 创建新模块-创建我们第一个模块

 

方式 1:设置完成后点击这两个中一个即可

Odoo 创建新模块-创建我们第一个模块

 

方式 2:命令行运行,terminal 输入

./odoo-bin -c odoo.conf

08

测试

未报异常说明成功,打开浏览器输入:127.0.0.1:8069

默认密码:admin 登录系统

Odoo 创建新模块-创建我们第一个模块

 

应用-所有 qingjia 模块,安装模块

Odoo 创建新模块-创建我们第一个模块

 

完成我们请假模块,用户可以创建修改删除数据

Odoo 创建新模块-创建我们第一个模块

 

tree 视图对应

Odoo 创建新模块-创建我们第一个模块

 

form 视图对应

佭ϴý Ѷ Media8ý

在线客服

外链咨询

扫码加我微信

微信:xmbfjc

返回顶部