Odoo Shell】的更多相关文章

Odoo shell 提供了一个简便的操作 Odoo的交互界面, 从 odoo 9.0 开始就是标准功能, 无需安装第三方应用. 本文基于Odoo10 说明 Odoo Shell以及 Odoo ModelClass .Model.model.recordset 之间的关系 [注意:大小写是有特殊含义] Odoo Shell是 通过在 cli/command.py#commands{} 注册 Shell command 来实现的. 首先,Odoo支持的 command 都是基于 command 基…
Odoo 服务器端带有外部 API,可供网页客户端和其它客户端应用使用.本文中我们将学习如何在我们的客户端程序中使用 Odoo 的外部 API.为避免引入大家所不熟悉的编程语言,此处我们将使用基于 Python 的客户端,但这种 RPC 调用的处理方法也适用于其它编程语言. 我们将一起了解如何使用 Odoo RPC调用,然后根据所学知识使用 Python创建一个简单的图书命令行应用. 本文主要内容有: 在客户端机器上安装 Python 使用XML-RPC连接 Odoo 使用XML-RPC运行服务…
在上一篇文章中,我们概览了模型创建以及如何从模型中载入和导出数据.现在我们已有数据模型和相关数据,是时候学习如何编程与其进行交互 了.模型的 ORM(Object-Relational Mapping)提供了一些交互数据的方法,称为 API(Application Programming Interface).这包括基本的增删改查(CRUD)操作,也包括一些其它操作,如数据导入导出,以及改善用户界面和体验的工具方法.它还包含一些我们在前面文章中所看到的装饰器.这些都让我们可以通过添加新的方法来调…
网上已经有大佬翻译过odoo12并且在翻译odoo14了.各位着急的可以自行搜索下... 这本书是为了让自己从odoo12转odoo14学习.也是为了锻炼下自己... odoo 14 Development Cookbook 这本书是Parth Gajjar.Alexandre Fayolle.Holger Brunn.Daniel Reis几位作者写的,感谢! 后面将以此为教材,记录学习过程! 学习过程中,基础的内容将采用机翻,不通的内容会做调整. 目录 第一章.安装odoo的开发环境 1.…
环境ubuntu16+nginx+python2.7.12+postgresql9.5+odoo 10.0 community #!/bin/bash #author:guoyihot@outlook.com bonainfo.com #-- #license:LGPL V3 #description:部署odoo odoo_options='gevent -c /usr/local/odoo/odoo.config' odoo_parent_path=/usr/local odoo_path=…
Odoo的官方推荐是Ubuntu Server,所以,我们这里也以Ubuntu Server为例.当然,其他系统也是可以的,只不过安装起来相比Ubuntu 会显得稍微折腾,限于篇幅,本书不对其他系统的安装部署进行介绍,如有需要可以参考我的博客(http://www.cnblogs.com/kfx2007)或者中文论坛(shine-it.net). Odoo使用的python环境是2.7,虽然python目前的版本号已经到了3.0但由于2和3的版本跨度太大,Odoo目前不支持3.0下的开发运行,所…
各位好,这篇教程关于的是如何在CentOS 7中安装Odoo(就是我们所知的OpenERP).你是不是在考虑为你的业务安装一个不错的ERP(企业资源规划)软件?那么OpenERP就是你寻找的最好的程序,因为它是一款为你的商务提供杰出特性的自由开源软件. OpenERP是一款自由开源的传统的OpenERP(企业资源规划),它包含了开源CRM.网站构建.电子商务.项目管理.计费账务.POS.人力资源.市场.生产.采购管理以及其它模块用于提高效率及销售.Odoo中的应用可以作为独立程序使用,它们也可以…
先把代码贴过来 def main(): args = sys.argv[1:] # The only shared option is '--addons-path=' needed to discover additional # commands from modules if len(args) > 1 and args[0].startswith('--addons-path=') and not args[1].startswith("-"): 如果有插件路径参数,则解…
接上回,odoo-bin中调用了odoo.cli.main(),去哪儿找? cli目录容易找 跟随__init__.py的脚步 import logging import sys import os import odoo from command import Command, main import deploy import scaffold import server import shell import start see line 7 我们发现程序从command中引入了comma…
[本文基于odoo9源码编写] odoo包含的服务有 db object report workflow web[wsgi] Odoo以wsgi 规范提供Web及Web服务db/object/report,而workflow则包含在model里面,以create[delete|redirect|signal|step]_workflow() 提供服务.Odoo9之后为了保持兼容性,还是保持了旧模式,在 openerp/netsvc.py 定义为 LocalService,提供 workflow…
一,安装的两种方式: 1) deb包安装: 此安装方式适用于简单不需要太多的人工干预,大多数插件都在deb中涵盖了.具体的步骤如下: 1.编辑 /etc/apt/source.list 文件,在末尾添加Odoo源:http://nightly.odoo.com/ deb http://nightly.odoo.com/8.0/nightly/deb/ ./ 2. sudo apt-get update 更新源列表,此过程中可能碰到key验证失败的问题,可到https://nightly.odoo…
以一个例子开头* To-do 向导   # 配置文件       __openerp_.py:         { 'name': 'To-do Tasks Management Assistant',    'description': 'Mass edit your To-Do backlog.',    'author': 'Daniel Reis',    'depends': ['todo_user'],    'data': ['todo_wizard_view.xml'], }  …
在前面的文章中,我们学习了模型层.如何创建应用数据结构以及如何使用 ORM API 来存储查看数据.本文中我们将利用前面所学的模型和记录集知识实现应用中常用的业务逻辑模式. 本文的主要内容有: 以文件为中心工作流的阶段(stage) ORM 方法装饰器:@api.multi, @api.one和@api.model onchange方法,与用户即时交互 使用 ORM 内置方法,如create, write 和 unlink Mail 插件提供的消息和活动功能 创建向导来帮助用户执行复杂操作 使用…
引言 在进入Odoo开发之前,我们需要建立我们的开发环境,并学习它的基本管理任务. 在本章中,我们将学习如何设置工作环境,在这里我们将构建我们的Odoo应用程序.我们将学习如何设置Debian或Ubuntu系统来托管开发服务器实例,以及如何从GitHub源代码中安装Odoo.然后,我们将学习如何设置与Samba的文件共享,这将允许我们从运行Windows或任何其他操作系统的工作站运行Odoo文件. Odoo是使用Python编程语言构建的,它使用PostgreSQL数据库进行数据存储;这些是Od…
./odoo-bin shell -d test1 -c /home/odoo/odooshare/odoo.conf ./odoo-bin shell -d 数据库名 -c 指定配置文件…
场景描述: 当遇到数据库不能正常访问的时候,我们首先想到的是,查看相关的告警日志,一般先查看系统的日志,然后查看数据库的日志,Linux平台下,postgresql的日志文件存放目录在如下路径: test@odoo:/var/log/postgresql$ pwd /var/log/postgresql将日志的信息实时打印输出: test@odoo:/var/log/postgresql$ tail -f postgresql-9.5-main.log 如果需要重启数据库 利用psql启动数据库…
一.获取 Odoo 源码 Odoo 是一个开源项目,我们可以轻松的在 Github 上找到它的源码.本次中使用的是 12.0 版本的 Odoo,所以在拉取代码时选择 12.0 的分支.确保拉取的速度,使用--depth参数. git clone https://github.com/odoo/odoo.git -b 12.0 --depth=1 ./odoo_dev 二.启动Odoo 在Odoo的源码根目录下有一个 odoo-bin 的 Python 脚本文件,这个是 Odoo 的启动脚本.运行…
Table of Contents 命令入口 服务器 启动server thread 模式 prefork 模式 gevent模式 wsgi 应用 响应 客户端请求 xmlrpc web http路由处理 HTTP request JSON request 路由注册 注册表 注册表创建或更新 模块 模块信息 迁移 钩子 migration hook 模块依赖关系 图 模块安装/升级/卸载 模块登记 模型初始化 模块数据加载 记录集 数据 读写 约束 SQL 约束 Python 约束 默认值 视图…
安装Odoo插件时而可能很繁琐且易于出现未知错误.当Odoo出现错误提示时.您需要深层次查询内核模块,安装其它依赖插件,下载全部插件,将它们放到恰当的部位,点安装,随后处理错误,然后再次测试,直至凡事就绪.如果要不是1个精通的odoo开发的程序员,你会发现每次前进都困难重重.欧度软件提示:安装odoo插件的简易办法就是采用pypi方式. 与此同时,Python生态系统有许多工具来建立.派发和安装程序包.这些工具配置了版本分辨依靠管理信息系统.例如setuptools和wheel装包,采用pypi…
在前面的文章中,我们学习了模型层.如何创建应用数据结构以及如何使用 ORM API 来存储查看数据.本文中我们将利用前面所学的模型和记录集知识实现应用中常用的业务逻辑模式. 本文的主要内容有: 以文件为中心工作流的阶段(stage) ORM 方法装饰器:@api.multi, @api.one和@api.model onchange方法,与用户即时交互 使用 ORM 内置方法,如create, write 和 unlink Mail 插件提供的消息和活动功能 创建向导来帮助用户执行复杂操作 使用…
更新Ubuntu服务器软件源 运行以下代码: sudo apt-get update  #更新软件源 sudo apt-get dist-upgrade  #更新软件包,自动查找依赖关系 sudo shutdown -r now  #重启服务器,以更新改变的内容   新建系统用户用于运行Odoo程序 运行如下命令创建系统用户: sudo adduser --system --home=/opt/odoo9 --group odoo9  #新建系统用户odoo9,指定home目录为/opt/odo…
在更深入了解 Odoo 开发之前,我们应配置好开发环境并学习相关的基础管理任务.本文中,我们将学习创建 Odoo 应用所需用到的工具和环境配置.这里采用 Ubuntu 系统来作为开发服务器实例的主机,可以是云服务器.本地服务器或者PC 上的虚拟机. 本文主要内容有: 配置主机,可以是 Ubuntu系统或 PC 机上的 Linux 子系统 使用源码安装 Odoo,包括数据库和系统依赖的安装 管理 Odoo 数据库(创建.删除和拷贝) 配置 Odoo 服务器选项 查找并安装社区插件 使用虚拟环境管理…
本文为最好用的免费ERP系统Odoo 12开发手册系列文章第一篇. Odoo提供了一个快速应用开发框架,非常适合创建商业应用.这类应用通常用于保留业务记录,增删改查操作.Odoo 不仅简化了这类应用的创建,还提供了看板.日历.图表等视图的丰富组件,用于创建好看的用户界面. 本文主要内容有: 引入本文使用的学习项目:to-do (任务清单)应用 理解 Odoo 的结构.版本和发布,了解使用 Odoo 的相关知识 准备一个 Odoo 的基本工作环境,有如下选项: 在线Odoo Windows 一键安…
一.首先我们要分析影响odoo 服务器 性能的因素 CPU 目前大部分CPU在同一时间只能运行一个线程,超线程的处理器可以在同一时间处理多个线程,因此可以利用超线程特性提高系统性能. 在linux系统下只有运行SMP内核才能支持超线程,但是安装的CPu数量越多,从超线程获得的性能提升越少.odoo单进程模式下对 CPU 要求并不高,但是为了支持多并发,需要开启 workers,一般 CPU(核)的数量和​work 数量为 works = 2 * cpu(核) + 1 内存 内存太小,系统进程将被…
1. 更新Ubuntu服务器软件源 sudo apt-get update #更新软件源 sudo apt-get dist-upgrade #更新软件包,自动查找依赖关系 sudo shutdown -r now #重启服务器,以更新改变的内容 2. 新建系统用户用于运行Odoo程序 运行如下命令创建系统用户: sudo adduser --system --home=/opt/odoo9 --group odoo9 #新建系统用户odoo9,指定home目录为/opt/odoo9 系统用户不…
1 # PDB的用法 2 # PDB是用来调试运行代码的. 3 # 如何启动PDB(启动之后你可以调用odoo任何模块中的方法) 4 # ./odoo-bin shell --log-level=debug 5 # shell 意思是启动PDB 6 # --log-level 日志级别 7 # 可选值: 8 # critical 9 # error 10 # warn 11 # debug 12 # debug_rpc 13 # debug_rpc_answer 14 # debug_sql 1…
如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. #!/bin/bash a= echo -e "Value of a is $a \n" 结果: Value of a is 这里 -e 表示对转义字符进行替换.如果不使用 -e 选项,将会原样输出: Value of a is \n 下面的转义字符都可以用在 echo 中: 转义字符 含义 \\ 反斜杠 \a 警报,响铃 \b 退格(删除键) \f 换页(FF),将当前位…
$ 表示当前Shell进程的ID,即pid $echo $$ 运行结果 特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数是$1,第二个参数是$2. $# 传递给脚本或函数的参数个数. $* 传递给脚本或函数的所有参数. $@ 传递给脚本或函数的所有参数.被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到. $? 上个命令的退出状态,或函数的返回值. $$ 当前Shell进程ID.对于 Shell 脚…
定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名的命名须遵循如下规则: 首个字符必须为字母(a-z,A-Z). 中间不能有空格,可以使用下划线(_). 不能使用bash里的关键字(可用help命令查看保留关键字). 使用变量 使用一个定义过的变量,只要在变量名前面加美元符号($)即可,如: your_name="mozhiyan" ec…
打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好. #!/bin/bash echo "Hello World !" "#!" 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell. 作为可执行程序 将上面的代码保存为test.sh,并cd 到相应目录: chmod +x ./test.sh #使脚本具有执行权限 ./test.sh #执行脚本 注意,一定要写成./test.sh,而不…