Odoo创建模块

这里我先引用一下几篇文章,这里完整的实现了一个odoo的模块创建demo

首先创一个保存自己模块的目录 myaddons

添加到插件路径中

addons_path = addons,myaddons

运行命令行参数

python odoo-bin scaffold tudo myaddons
  • 确保激活了venv

模块的组成

  • 在 Python 中,每一个包(package)都包含一个 init.py 文件,而一个 Odoo 的模块,同时也是一个 Python 包,所以我们可以看到,生成的项目文件里已经包含了 init.py 这个文件,如果打开这个文件,你会看到里面引入了 controllers 和 models 这两个包,稍候我们会讲到这两个,这里先放一放。那么对于这个 init.py 文件,我们没什么特殊需求,是可以不用去理会的,就让它静静地躺在那里完成它的使命就好了。

  • 文件 manifest.py 用于声明一个 Odoo 模块以及指定它的元数据(metadata),文件里只包含了一个单独的 Python 字典,里面默认只列出了 9 项最基本的配置项,包含了模块(或应用)名,模块的简介和详细介绍,作者和网站,模块的所属分类、版本,还有就是这个模块依赖于其他的哪些 Odoo 模块,需要加载哪些数据文件以及演示数据。除了这里列出的配置项外,还有一些高级配置项,我们这里暂时不需要理会,后面用到之后将会进行详细的说明。

  • 接下来我们先讲一下 demo 和 security 这两个目录。前者是用于存放演示数据的,在 manifest.py 中就可以看到有引入该目录下的 demo.xml 文件,在使用演示模式时,初始化一些演示数据可以帮我们节省不少的时间;而后者通过名字就知道它的作用是跟安全相关的,目录下只有一个 ir.model.access.csv 文件,里面用于定义不同的角色组对应于不同模型的相关权限,包括读(read),写(write),创建(create)和删除(unlink)权限,拥有相关权限则为 1,反之为 0。我们刚提到了角色组,但是没有发现相关定义的位置,我们只要默认角色组的定义和模型权限定义在同一目录下就可以了,角色组的定义同样也是使用的 .xml 文件,在后面我们会有专门的一篇文章对角色组和权限进行讲解说明。

  • 下面要讲的是 Odoo 开发中的核心部分 MVC(同时也是大部分 Web 应用开发所采用的经典模式),MVC 分别代表的是 Model(模型)、View(视图)和 Controller(控制器)。有关 MVC 模式具体的概念和相关的知识,这里就不作详细讲解了,希望不了解的同学可以去找找相关的内容学习一下。这里简单说一下它们各自的用途,在 Model 中,我们定义一切和数据相关的东西,例如对应到数据库表字段的模型字段、各种外键关系以及操作数据的逻辑方法等。View 则是负责数据展示的,我们通过编写视图控制需要展示出来的数据以及以什么样的形式展示数据等,并且可以在视图上进行交互。Controller 则是在 Model 和 View 之间,负责响应用户操作,从 Model 中获取数据进行处理并返回到 View 中。

安装模块

  • 打开开发者模式 更新本地模块列表

更新完后就可以找到我们创建的odoogoedu模块进行安装

注意

  • 模块的目录名称使用小写__manifest__.py 里的name 补充__manifest__.py 另外2个有用的参数

      'application': True,
    'sequence': 1,

Odoo创建基础模块和相关内容的更多相关文章

  1. 孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容

     孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.打开文件后,要务必记得关闭,所以一般的写法应当 ...

  2. 第一天上午——HTML网页基础知识以及相关内容

    今天上午学习了HTML基础知识以及相关内容,还有DW的基本使用方法. HTML(HyperText Markup Language):超文本标记语言,超文本:网页中除了包含文本文字之外,还包含了图片, ...

  3. python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。

    本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...

  4. linux设备驱动归纳总结(二):模块的相关基础概念【转】

    本文转载自:http://blog.chinaunix.net/uid-25014876-id-59415.html linux设备驱动归纳总结(二):模块的相关基础概念 系统平台:Ubuntu 10 ...

  5. 【Linux开发】linux设备驱动归纳总结(二):模块的相关基础概念

    linux设备驱动归纳总结(二):模块的相关基础概念 系统平台:Ubuntu 10.04 开发平台:S3C2440开发板 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  6. 从头开始编写一个Orchard网上商店模块(5) - 创建和渲染ProductCatalog的内容类型

    原文地址: http://skywalkersoftwaredevelopment.net/blog/writing-an-orchard-webshop-module-from-scratch-pa ...

  7. ansible中文手册-基础模块使用

    此篇文章主要是翻译ansible官网文档而来,在里面讲述了如何使用ansible的基础模块,总体感觉比较晦涩,但是后面会写出自己相关实践的文档,从而更加通俗易懂,官网的东西拿来当手册偶尔翻翻也是很不错 ...

  8. seo一些相关内容

    PR值算法原理总体上基于下面2个前提: 1.一个网页被多次引用,则它可能是很重要的: 一个网页虽然没有被多次引用,但是被重要的网页引用,则它也可能是很重要的:一个网页的重要性被平均的传递到它所引用的网 ...

  9. 全球第一开源云ERP Odoo操作手册 模块安装和界面汉化指南

    之前介绍了odoo的安装和初始设置以及数据库,下面来介绍odoo的模块安装和界面汉化. 1.4 模块安装和界面汉化 Odoo 的功能包含在不同的模块中, 刚创建的数据库除 Odoo 的核心模块外, 其 ...

随机推荐

  1. kubernetes配置secret拉取私仓镜像

    2017.05.10 19:48* 字数 390 阅读 5216评论 0喜欢 8 对于公司内部的项目, 我们不可能使用公有开放的镜像仓库, 一般情况可能会花钱买docker私仓服务, 或者说自己在服务 ...

  2. kubespray 一键安装k8s集群

    1. clone代码 git clone https://github.com/kubernetes-incubator/kubespray.git 2. 添加inventory/inventory ...

  3. 装饰器python

    装饰器 你是一家视频网站的后端开发工程师,你们网站有以下几个版块 1 2 3 4 5 6 7 8 9 10 11 def home():     print("---首页----" ...

  4. Linux makefile讲解

    博客不会讲解的太细致深入,推荐先看视频再看博客 视频链接,推荐去B站观看,B站比较清晰... 土豆网:http://www.tudou.com/programs/view/19VZ0f3b_I0 B站 ...

  5. dedecms织梦让channelartlist标签支持currentstyle属性

    打开include\taglib\channelartlist.lib.php  大约93行 找到: $pv->Fields['typeurl'] = GetOneTypeUrlA($typei ...

  6. JMS学习(二)之ActiveMQ

    1,ActiveMQ是Apache实现的基于JMS的一个消息服务器.下面记录ActiveMQ的一些基本知识. 2,ActiveMQ connectors:ActiveMQ providesconnec ...

  7. 雨林木风ghostwin7纯净版系统下载

    雨林木风ghostwin7纯净版系统下载 关于easyuidatagrid的问题,跪求老司机带带我..... 关于cst_modesys/stat.h一个问题求解答谢谢 [程序]STM32使用SPI接 ...

  8. CString 与其它数据类型转换问题

    CString 头文件#include <afx.h> string 头文件#include <string.h> CString 转char * CString cstr; ...

  9. spring的普通类中获取session和request对像

    在使用spring时,经常需要在普通类中获取session,request等对像. 1.第一钟方式,针对Spring和Struts2集成的项目: 在有使用struts2时,因为struts2有一个接口 ...

  10. Servlet、ServletConfig、ServletContext深入学习

    1.Servlet学习 1.Servlet生命周期 Servlet 加载—>实例化—>服务—>销毁. init(servletConfig):(经过自己的测试发现会先调用这个而不是i ...