odoo自定义模块
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
odoo自定义模块
*官方建议模块骨架
--------------------------
addons/
│─__init__.py
│-__openerp__.py
│-controllers
││-__init__.py
││-main.py
│-data
││-
││-
│
│-models
││-__init__.py
││-
││-
│
│-security
││-ir.model.access.csv
││-
│
│-static
││-img
││-lib
││-src
│││-js
│││-css
│││-less
│││-xml
│-views
││-
││-
文件夹权限755文件权限644
__openerp__.py相关属性:
#name模块名字
#summary简短介绍
#description详细描述
#author作者
#website模块网站
#category模块分类
#version模块版本号
#license模块版本信息默认是AGPL-3
#depends模块依赖
#data模块必须加载的数据文件
#demo示例数据
#installabel默认为True可安装
#auto_install默认是False如果设为True就根据依赖模块,依赖装了,这个模块就安装#application默认是False如果设为True就成为应用模块
安装自定义模块
服务启动配置文件addons-path加入自己的定义容器目录如myaddons
addons-path=addons,myaddons
更新模块服务列表,然后找到去安装
模块文件夹管理
#data放demo和data xml
#models放模型定义
#controllers http路径控制
#views放网页视图和模板
#static放网页的资源,里面还有css,js,img,lib等
#
--------------------------
todo_app
│-security
│|-ir.model.access.csv
│|-todo_access_rules.xml
│-static
│-__init__.py
│-__openerp__.py
│-todo_model.py
│-todo_view.xml
*__init__.py内容如下(把模型导入到应用)
from.import todo_model
*__opererp__.py内容如下(erp本身的配置)
--------------
{
'name':'To-Do Application',
'description':'Manage your personal Tasks with this module.', 'author':'Toby Chen',
'depends':['mail'],
'application':True,
'category':'todo_app',
'data':[
'todo_view.xml',
'security/ir.model.access.csv',
'security/todo_access_rules.xml',
],
}
--------------
*todo_model.py内容如下(模型)
--------------
#-*-coding:utf-8-*-
from openerp import models,fields,api
class TodoTask(models.Model):
_name='todo.task'
name=fields.Char('Description',required=True)
is_done=fields.Boolean('Done?')
active=fields.Boolean('Active?',default=True)
@api.one
def do_toggle_done(self):
self.is_done=not self.is_done
return True
@api.multi
def do_clear_done(self):
done_recs=self.search([('is_done','=','True')])
done_recs.write({'active':False})
return True
--------------
*todo_view.xml内容如下(视图)
--------------