odoo创建新模块步骤-创建我们的第一个模块
环境:PostgreSQL+Pycharm+MacOS
目标:完成第一个"请假"模块的创建
步骤:
- 新建文件夹-用于存放自己创建的所有模块
- 命令生成新模块
- 设置 models
- 设置 views
- 设置 security
- 设置__manifest__.py
- 运行安装模块
- 完成
下来来详细说明:
01
新建文件夹myaddons
这没什么好说的,自己创建的模块最好不要放到 odoo本身模块路径下面,不易维护。以后我们自己创建的模块都放在这个文件夹下面。
重要:设置一下 odoo.conf 中的 addons_path,添加 myaddons 的路径,否则 odoo 无法找到你添加的模块
02
创建新模块-scaffold
命令行:./odoo-bin scaffold qingjia myaddons
说明:
scaffold: Odoo提供的一种机制来帮助建立一个新的空模块
qingjia: 自己定义的模块名称
myaddons: 文件夹路径
接下来我们可以看到 qingjia 模块中的一堆文件,下面来一项项进行说明
03
models
用于记录Odoo模型名称,定义数据库字段
请假模块我们需要定义字段:申请人,请假天数,开始时间,请假事由
说明:
_name: 设置数据库表名。用.隔开,在数据库中表示为 qingjia_qingjiadan
_description: 设置描述
后面是定义各种字段的类型,这个放以后来详细说明
04
View
Odoo视图设置,展示给用户的视图,我们来定义一个简单的tree 与 form 视图
- tree 视图
这是一部分代码,先进行一下说明再往后面写
odoo视图使用的 xml 文件
请假单 list
这里定义 tree 视图,表格的标题
qingjia.qingjiadan
定义关联的 model 数据表,与 models 中的_name一致
定义在表格中显示的字段,name 关联到 models 中定义的字段名
- form 视图
结构与上面类似,这里就不做说明了。
- 操作
odo
说明:
定义对tree与 form 的操作,操作id 与菜单相关联。这里定义了“请假单”是“请假”的二级菜单
05
Secrity
这里是定义访问权限的地方,以后会详细说明
说明:id,与 name 可以自己命名,一般以数据表名称来命名。
重点是 model_id,只能以 model_+表名形式。这里我们 models 的_name 定义的是qingjia.qingjiadan。所以这部分我们以 model_qingjia_qingjiadan 来命名。
后面的 1,1,1,1分别代表上面的读,写,创建,删除权限。一般结合用户组来使用
06
__manifest__.py
说明:
前面都是定义一些模块的基本信息
data 中将定义的视图 xml 文件,与security 的访问控制文件放进来,这样才能加载。注意逗号分隔
07
运行与安装模块
上一篇文章有介绍,这里还是可以看一下设置。
方式 1:设置完成后点击这两个中一个即可
方式 2:命令行运行,terminal 输入
./odoo-bin -c odoo.conf
08
测试
未报异常说明成功,打开浏览器输入:127.0.0.1:8069
默认密码:admin 登录系统
应用-所有 qingjia 模块,安装模块
完成我们请假模块,用户可以创建修改删除数据
tree 视图对应
form 视图对应
撒花