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

Odoo开发指北 01 初识Odoo

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

2.4K30

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.7K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    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

    95520

    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.7K10

    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.5K20

    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.2K31

    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

    2.2K20

    利用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.2K31

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

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

    2.4K30

    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.5K40

    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.2K10

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

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

    9.9K30

    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

    3.2K30

    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字段默认值为

    3K30

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

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

    2.3K80

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

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

    1.7K10

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券