首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Odoo开发指北 01 初识Odoo

工作流开发:用软件表达企业层级工作协作关系。有两种方式:XML方式定义、可视化拖拽编程定义。 报表开发:把系统数据以特定形式输出打印。主要有:文档报表、图形报表等。...继承开发 Odoo提供了大量现成模块给我们使用,但是某些情况下,我们需要制定符合自己需求功能模块。Odoo开发一条黄金准则是——不要修改现有的模块,以免改动后代码与原有模块产生混淆。...然后使用自己模块:把自己模块路径设置到odoo中,重启odoo让其搜索到自定义模块,即可通过odoo进行安装。...Odoo提供ORM接口匹配,也就是说这些模型类会自动存入sql中。...脚手架 odoo-bin scaffold 命令新建了我们 aaa 应用 …/odoo-bin scaffold aaa 模块开发流程 分析模块模型,得出模型所需字段有哪些,然后定义模型类——

2.3K30

Odoo 基于Win10搭建基于Win10搭建odoo14开发环境搭建

x86)\python36\Scripts\,D:\Program Files (x86)\python36\)添加到PATH系统环境变量、用户环境变量 创建Python虚拟运行环境 主要是和其它项目开发环境进行隔离...参考文档 "解决安装软件包提示Unable to find vcvarsall.bat问题.md" 安装odoo依赖 解压下载后odoo_14.0.latest.tar,并对解压结果目录中dist目录下...测试运行 启动 复制上述odoo14\setup\odoo文件为odoo-bin(本质为一个py文件),并移动到setup同级目录下,即例中odoo14目录下 虚拟运行环境下,输入以下命令后回车,可以看到类似如下输出...为手动创建配置文件,位于odoo14目录下,内容如下: [options] addons_path = odoo/addons db_name = odoo db_host = localhost db_user...= myodoo db_password = test123 db_port = 5432 常见命令行参数说明 -d 指定将要使用自定义数据库名称,可以是不存在odoo启动时会自动初始化并创建数据库

3.5K40
您找到你想要的搜索结果了吗?
是的
没有找到

odoo 开发入门教程系列-安全-简介

安全-简介 前一章中我们已经创建了第一个打算用于存储业务数据表。在odoo这样一个商业应用中,第一个考虑问题就是谁(Odoo 用户(或者组用户))可以访问数据。...odoo为指定用户组用户提供了一个安全数据访问机制。 更多关于安全主题详细信息可以查看 Advanced B: ACL and Record Rules。本章目标是覆盖我们新模块最小安全需求。...Data Files (CSV) Odoo是一个高度数据驱动系统。虽然通过Python代码定制行为,但是模块部分值在加载时设置数据中。...此外,所有这些文件必须在 __manifest__.py中data 列表中定义。 查看示例文件 # -*- coding: utf-8 -*- # Part of Odoo....当模型中没有定义任何访问权限时,odoo会认为没有任何用户可以访问数据,并在日志中打印: 2022-12-14 09:01:38,994 32508 WARNING odoo odoo.modules.loading

90220

odoo 开发入门教程系列-模块交互

Odoo提供了一个开发票模块,因此直接从我们房地产模块创建发票是很简单,也就是说,一旦某个房产设置为“已售出”,就会在Invoicing应用程序中创建发票 一个具体示例: 记账凭证(Account...Move) 目标: 本节结束时: 创建一个estate_account 模块 创建房产时,为购买者开发票 预期效果动画地址:https://www.odoo.com/documentation...https://github.com/odoo/odoo/blob/f1f48cdaab3dd7847e8546ad9887f24a9e2ed4c1/addons/account/models/account_move.py...不幸是,没有一种简单方法可以知道如何在Odoo中创建任何给定对象。大多数时候,有必要查看其模型,以找到所需字段并提供适当值。 学习一个好方法是看看其他模块是如何完成你想做事情。.../usr/bin/env python # -*- coding:utf-8 -*- from odoo import models from odoo.exceptions import UserError

1.5K10

pycharm远程调试ODOO12开发环境配置

1.准备条件 1)操作系统为UBUNTU18.04,本实验在Esxi虚拟化平台上搭建服务器系统; 2)Pycharm必须为专业版,社区版不支持远程开发调试; 3)服务器上安装并配置好ODOO12,并且正常运行...; 4)由于要进行远程调试,所以在服务器上先停止ODOO服务,必要时在手动启动; 5)本地新建一个工程,名字为remoteodoo12。...Mapping选项卡: 3.配置python远程解释器 1)通过File > Settings,打开设置选项卡。...点击”Project:remoteodoo12”这个按钮,在展开小项里再点击Project Interpreter,右边就会变成Interpreter配置页面。...在弹出弹窗里配置相应信息,如图所示: 3)配置Path mappings 4.测试 打开调试功能,进行测试,显示为远程服务器 打开WEB页面,显示如下:

1.1K31

odoo 开发入门教程系列-约束(Constraints)

例如,在我们房地产模块中,没有什么可以阻止用户设置负预期价格。 odoo提供了两种设置自动验证恒定式方法:Python约束 and SQL约束。...可能会弹出类似以下内容错误消息: ERROR rd-demo odoo.schema: Table 'estate_property_offer': unable to add constraint...重启服务验证 预期效果动画:https://www.odoo.com/documentation/14.0/zh_CN/_images/sql_01.gif https://www.odoo.com/...如果不满足该方法恒定式,则该方法将引发异常: from odoo.exceptions import ValidationError ......警告 当和浮点数打交道时,总是使用从 odoo.tools.float_utils导入float_compare() 和float_is_zero()方法 确保每次售价或者预期价格改变时,自动触发约束

1.4K20

odoo 开发入门教程系列-QWeb简史

Odoo自带内置引擎:QWeb模板。QWeb是Odoo使用主要模板引擎。它是一个XML模板引擎,主要用于生成HTML片段和页面。 你可能已经在Odoo见过 看板,其中记录以卡片状结构显示。...目标: 本节结束时创建一个房产看板视图 在我们地产应用程序中,我们希望添加一个看板视图来显示我们房产。看板视图是标准Odoo视图(如表单和列表视图),但其结构更灵活。...提示: 必须在ir.actions.act_window对应view_mode中添加 kanban 修改odoo14\custom\estate\views\estate_property_views.xml...注意:best price仅在收到报价时展示,而selling price仅在接受报价时展示 修改odoo14\custom\estate\views\estate_property_views.xml...> 注意:这里必须添加,否则界面会报类似以下错误: odoo

1.9K20

利用PYCHARM在CentOs上远程开发调试ODOO12

1.环境说明 服务器操作系统:CentOs7.6 [root@moonyun /]# cat /proc/version Linux version 3.10.0-514.el7.x86_64 (builder...version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP Tue Nov 22 16:42:41 UTC 2016 [root@mytest /]#  开发用笔记本...   系统SKU:Surface Pro 7   2.前置条件 开发笔记本:PYCHARM专业版,本例用:JetBrains PyCharm 2017.3.2 Professional Edition。...远程服务器已安装了ODOO12,并且能正常运行,运行python3.7虚拟环境。 需停止远程ODOO12服务,数据库正常运行。...Root path是需要同步项目文件上级目录,后面不要加上斜杠,高级设置需要修改编码为UTF-8,设置10秒左右测试一次服务器与本地连接。

1.1K31

odoo 开发入门教程系列-模型和基本字段

模型和基本字段 在上一章末尾,我们创建一个odoo模块。然而,此时它仍然是一个空壳,不允许我们存储任何数据。...odoo框架提供了数据库交互工具 开始练习前,请确保estate模块已被安装,也就是说必须以installed状态出现在Apps列表中,如下 对象关系映射(Object-Relational Mapping...ORM 层是odoo一个关键组件。该层避免了手动写入大部分SQL并提供可扩展性和安全服务. 业务对象被定义为继承于 ModelPython类。可以通过在定义中设置属性来配置model。...最重要属性为 _name,该属性定义了model在odoo系统中属性。...来看下 crm_recurring_plan 表是怎么定义,以及对应Python文件是怎么导入: 在 odoo/addons/crm/models/crm_recurring_plan.py 中定义

2.2K30

odoo 开发入门教程系列-模型之间关系(Relations Between Models)

买家可以是任何个人,然而,销售人员必须是房产机构员工(即odoo用户)。 在odoo中,有两种我们经常引用两种模型: res.partner: 一个partner为一个物理实体或者法人实体。...可以是内部(internal)用户,也就是说有odoo后端访问权限,可以是门户(portal)用户,仅可以访问前端(比如访问他们之前电子商务订单) ,不可以访问后端。..._context 上下文字典 self.env.ref(xml_id) 返回和XML id对应记录 self.env[model_name] 返回给定模型实例 修改odoo14\custom\estate...odoo如何知道我们报价与哪个房产相关?这就是使用odoo框架一部分魔力:有时候事情是隐式定义。...当我们通过one2many字段创建记录时,为了方便,会自动填充相应many2one 添加odoo14\custom\estate\models\estate_property_offer.py #!

4.3K40

Odoo开发指北 02 启动项配置文件

Odoo启动项 常用启动项 自动升级模块,指定配置文件和数据库 -c 配置文件路径 -d 数据库名 -u 模块名(或all) 服务端开发者模式 pip install watchdog 启动命令加上 -...-dev=all 这启用了一些有用功能可加快开发流程,最重要的如下: 在保存 Python 文件时自动重载 Python 代码,避免手动重启服务 从 XML 中直接读取 view 定义,避免手动升级模块...配置文件 [options] ;addons模块查找路径 addons_path = /odoo/addons ;超级管理员(用于创建,还原和备份数据库操作) admin_passwd = admin...= /odoo ;数据库主机名 db_host = localhost ;数据库最大链接数 db_maxconn = 64 ;指定要使用数据库名字 db_name = False ;数据库密码...db_password = odoo ;数据库端口 db_port = 5432 ;创建数据库是使用数据库模板 db_template = template1 ;用户名 db_user = odoo

1.1K10

在云端快速构建一个 ODOO 站点

作者介绍:胡彬 腾讯云高级工程师 ODOO 前身是 OpenERP ,是一款开源 ERP 系统,使用 Python 开发,数据库采用 PostgreSQL ,系统以 LGPLv 3协议发布。...ODOO 作为一款开源软件,功能却非常完善,涵盖了账户、CRM、销售、支付、仓储、项目管理、网站建设等等模块,并且还支持开发自定义模块。...购买并创建云主机 登录云主机 1、下载并安装客户端软件 从本地linux机器登录到linux云服务器时,需要使用客户端软件建立连接。 建议使用OpenSSH发布ssh工具进行登录。...2、登录到Linux服务器 操作示例如下: 步骤详细描述如下: 1)....使用命令行连接linux云服务器: ssh -q -l -p 22 命令行各参数说明: 云服务器登录账号:输入管理员账号(详见管理员账号管理 云服务器公网

9.7K30

odoo 开发入门教程系列-计算字段和变更(Computed Fields And Onchanges)

计算字段和变更(Computed Fields And Onchanges) 模型之间关系是任何Odoo模块关键组成部分。它们对于任何业务案例建模都是必要。...依赖(Dependencies) 计算字段值通常取决于计算记录中其他字段值。ORM期望开发人员使用修饰符depends()指定计算方法上依赖项。...每当修改字段某些依赖项时,ORM使用给定依赖项来触发字段重新计算 from odoo import api, fields, models class TestComputed(models.Model...为了支持这个需求,odoo提供了使用inverse函数能力: from odoo import api, fields, models class TestComputed(models.Model...修改odoo14\custom\estate\models\estate_property_offer.py from odoo import models, fields 修改为 from odoo

3K30

Ubuntu18.04通过源码安装Odoo14教程

本系列文章针对Odoo 14版,从系统安装,开发环境配置,代码结构,主要功能升级,源码赏析,Anodoo对Odoo关键扩展等角度,预先给大家介绍即将在2020年发布这一最新版本。...https://www.postgresql.org/ https://www.postgresql.org/download/linux/ubuntu/ sudo apt update sudo apt...install postgresql postgresql-contrib 由于是开发环境,使用当前用户,以及使用postgresqlcreatedb命令增加数据库: Created odoo14...本案例中进一步更名为形如~/odoo14/odoo目录。 创建虚拟环境 由于在开发环境,有多个odoo或者python环境,建议创建Python虚拟环境。...以上所述是小编给大家介绍Ubuntu18.04通过源码安装Odoo14教程,希望对大家有所帮助!

1.9K21

odoo 开发入门教程系列-一些用户界面

Actions 和菜单为数据库中标准记录。 注解: 当程序很注重性能时,CSV格式优先于XML格式。这是因为,在odoo中加载CSV文件比加载XML文件更快。...odoo中,用户接口(action,菜单和视图)大部分是通过创建和组装XML文件中记录来定义。常见模式为 菜单> action > 视图。为了访问记录,用户在几个菜单级中导航。...view_mode 可获取视图。本例中为列表(树)和表格视图。 odoo中到处都可以找到例子,但是这个 简单action好例子。关注XML 数据文件结构,因为你在后续练习中会用到。 <?...然而,菜单总是遵循一种体系结构,实际上有三个层次菜单: 根菜单,显示在App切换器中(Odoo社区版切换器是一个下拉菜单) 第一级菜单,显示在顶部栏中 动作菜单 最容易方式是在XML文件中定义结构来创建菜单...预期效果可参考该动画链接:https://www.odoo.com/documentation/14.0/zh_CN/_images/inactive.gif 注意,已存在记录active字段默认值为

2.8K30

如何在Ubuntu 18.04上安装ODOO管理软件

企业需要稳固工作流程。 如果没有这种协调,效率会飞出大门。 幸运是,您数据中心内有Linux服务器,可以完全帮助您完成工作流程。 怎么样? 借助开源CRM/ERP工具ODOO。...ODOO是销售,服务,运营,财务,营销,开发等一站式服务。 ODOO具有可扩展性,可通过10,000多种应用程序满足您业务需求。 我知道你在想什么:这样服务器软件几乎不可能安装? 不。...安装第一步是创建名为odoo用户。...创建数据库后,您将发现自己位于应用程序页面(图B),您可以在其中开始安装所有必需应用程序,以使ODOO完全满足您业务需求。 图B. ODOO应用安装页面。...准备启动 安装所有必需应用程序后,您将需要运行ODOO配置选项(创建用户,设置公司等)。 完成后,您ODOO站点即可启动并有助于简化您业务工作流程。

1.6K10

ODOO优化层级关系查询效率方法

Odoo10 Development Essentials》Chapter5(p106)中介绍了Odoo中分层关系建立。 代码如下 在上面的代码中。 使用字段来关联上层记录。...(如递归查询文件夹文件) Odoo中为了提高层次结构(树状结构)查询效率,每一条层级数据记录添加跟字段. 假设A是B上级对象。那么存在这样逻辑关系。...画个图来理解下 可以看到,图中B属于A,清楚表示了A,B层级从属关系。...Odoo 应用 我们用Odoo11product模块作为演示 在文件中.看到产品目录(ProductCategory类.15行起)代码 在Odoo11演示数据中,产品目录结构一共有6个 我们查询下数据库中数据...要找Saleable下所有子目录即可使用 作为条件 结论: 在Odoo实际使用中,发现使用parent存储特性模块主要涉及account, product, stock_location.

2.2K80
领券