odoo自定义模块

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

odoo自定义模块

*官方建议模块骨架

--------------------------

addons//

│─__init__.py

│-__openerp__.py

│-controllers

││-__init__.py

││-main.py

│-data

││-_data.xml

││-_demo.xml

│-models

││-__init__.py

││-.py

││-.py

│-security

││-ir.model.access.csv

││-_security.xml

│-static

││-img

││-lib

││-src

│││-js

│││-css

│││-less

│││-xml

│-views

││-_templates.xml

││-_views.xml

文件夹权限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内容如下(视图)

--------------

相关文档
最新文档