首页
学习
活动
专区
圈层
工具
发布

「Odoo 基础教程系列」第三篇——从 Todo 应用开始(2)

在这篇教程里我们将会了解到 Odoo 模型里的一些其他类型的字段和特殊机制,而我依然会继续带领大家一起完善我们的 Todo 应用,不断地往里面添加一些新的功能特性,让它看起来更丰满也更实用一些。...这个需求跟时间有关,并且时间是流动(一直在变化)的,所以我们应该要有一个方法在用户每次打开待办事项之前,把这个结果计算好,并且反馈给用户,还好 Odoo 的 ORM 已经为我们实现了相关的机制——计算字段...() else: record.is_expired = False 计算字段其实和其他字段一样,只不过多了一个 compute 属性,它的值是计算这个字段值的方法名...PS: 这里我们对 deadline 进行了判断,是因为如果没有设置截止时间,又或者是在新建代办事项时,这里的 deadline 会是一个布尔值,是不能和时间字符串进行比较的。...实际上获取当前时间用的也是这个方法,只不过 Odoo 的 ORM 替我们封装了一层,fields.Datetime.now() 是类 Datetime 的静态方法: # fields.py class

1.9K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    计算的字段和变更(Computed Fields And Onchanges) 模型之间的关系是任何Odoo模块的关键组成部分。它们对于任何业务案例的建模都是必要的。...到目前为止,除了类定义和字段声明之外,我们还没有编写任何其他东西。 计算的字段(Computed Fields) 参考: 主题关联文档可查阅 Computed Fields....依赖(Dependencies) 计算的字段的值通常取决于计算记录中其他字段的值。ORM期望开发人员使用修饰符depends()指定计算方法上的依赖项。...支持标准Python集合运算,比如len(self) 和iter(self), 外加其它集合操作,比如 recs1 | recs2。...对于computed field 和Onchanges的使用没有严格的规则。 在许多情况下,可以使用computed field和onchanges来实现相同的结果。

    4.2K30

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

    _context 上下文字典 self.env.ref(xml_id) 返回和XML id对应的记录 self.env[model_name] 返回给定模型的实例 修改odoo14\custom\estate...它支持标准Python的集合操作,如len()和iter(),以及recs1 | recs2等额外的集合操作。...到estate.property 模型,表单和列表视图 提示: 视图中,使用 widget="many2many_tags"属性正如这里展示的一样。...首先,我们不需要所有模型的操作或菜单。某些模型只能通过另一个模型访问。在我们的练习中就是这样的:报价总是通过房产获得的。 其次,尽管property_id字段是必需的,但我们没有将其包含在视图中。...odoo如何知道我们的报价与哪个房产相关?这就是使用odoo框架的一部分魔力:有时候事情是隐式定义的。

    5.8K40

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

    虽然可以通过CSV文件加载这样的数据,但是使用XML更方便。 类似CSV文件,XML文件也必须按约定添加到合适的目录,并在 __manifest__.py中进行定义。...这是因为,在odoo中加载CSV文件比加载XML文件更快。 odoo中,用户接口(action,菜单和视图)大部分是通过创建和组装XML文件中的记录来定义的。...view_mode 可获取的视图。本例中为列表(树)和表格视图。 odoo中到处都可以找到例子,但是这个 简单action的好例子。关注XML 数据文件结构,因为你在后续的练习中会用到。 和链接到对应action的复杂性,我们可以使用 shortcut test_model_action 一个的基础菜单: Datetime.today()) 重启服务和并刷新浏览器界面验证 保留字段 参考: 主题相关文档可参考 保留字段名称. odoo为预定义行为保留了一些字段名称

    4.2K30

    如何为低代码和无代码集成准备API产品

    例如,在无代码和低代码工作流自动化的世界中,事务性存储等问题很重要,而没有准备好集成会导致: 难以将API集成到工作流中的沮丧的公民开发者; 与Zapier和Make等流行平台的兼容性问题; 潜在用户无法采用...以Zapier 的连接标签为例:Zapier 用户可以为单个应用程序使用多个帐户。连接标签提供了一种超越简单枚举来区分帐户的方法。...在设计处理文件的 API 产品时,使用 API 端点接受和输出文件的方法数量有限。RESTful API 最常用的一种方法是使用多部分表单数据。它很方便,开发人员可以同时发送元数据和文件。...我们的 API 产品尚未准备好面向无代码开发者,低代码方法带来的挑战主要是因为 Zapier 的平台 CLI 是沙盒化的。 文件处理 API 可以使用 URL 引用而不是文件流和多部分表单数据。...我们没有针对低代码集成的具体指南,没有关于使用无代码平台设置我们产品的说明,也没有用户可以直接使用的预构建操作或工作流,而无需学习使用我们的 API 端点进行编码。

    76310

    如何在Ubuntu 18.04上部署Odoo 11

    Odoo是世界上最受欢迎的一体化商业软件,包含CRM,网站,电子商务,计费,会计,制造,仓库,项目管理,库存等多种商业应用程序,无缝地 集成。 根据所需的用例,有几种安装Odoo的方法。...本指南涵盖了在Ubuntu 18.04系统上使用Git源代码和Python virtualenv安装和配置Odoo进行生产所需的步骤。...pip是一个用于安装和管理Python包的工具,我们将使用它来安装所有必需的Python模块,并将其安装到: pip3 install virtualenv 为我们的Odoo 11安装运行创建一个新的虚拟环境....conf 如果没有错误,您可以启用Odoo服务在启动时自动启动: sudo systemctl enable odoo11 如果你想查看Odoo服务记录的消息,你可以使用下面的命令: sudo journalctl...根据官方的[Odoo文档](“https://www.odoo.com/documentation/11.0/setup/deploy.html”)计算工人数量和所需的RAM内存大小,我们将使用以下公式和假设

    2.7K20

    浪潮能否成为中国云ERP市场的颠覆者?

    起初Fabien Pinckaer并没有将Odoo商业化的想法,而是基于对技术的热爱,将Odoo的技术进行了开源。...APP市场中已经包含5000余个模块,可随意搭配符合自己企业的定制化开源软件,并可与已有系统集成,可以为企业提供一体化的解决方案系统。...为此,也有人对于Odoo缺点做了总结: 第一、开源ERP都是国外的,文档少,技术支持几乎没有,开发的工作量难以控制。 第二、后期维护很头痛,资金投入后进退两难。...第三、开源软件后续需要有偿的咨询服务和定制化开发。 面对这些急待解决的问题,浪潮的介入能否力挽狂澜? 浪潮背后的动因 关于浪潮和Odoo的成立的合资公司具体细节我们无从知晓,包括双方所占股份比例?...不管怎么两者的合作都是各取所需,Odoo进入中国十年的时间依然没有形成遍地开花的局面,需要浪潮提供本土化的培训和技术支持服务,进而打开进入中国市场的大门。

    2.3K30

    使用Kompose从Docker Compose 迁移到 Kubernetes

    您可以使用多种解决方案,例如 Swarm、Kubernetes……从一定数量的应用程序和/或基础设施中,Kubernetes在高可用性和弹性方面往往占主导地位。...Docker-compose “Compose 是一种用于定义和运行多容器 Docker 应用程序的工具。使用 Compose,您可以使用 YAML 文件来配置应用程序的服务。...image.png Kubernetes Kubernetes引擎使用通过配置文件描述的资源声明系统。它允许您创建、配置和链接资源。...IngressController Kubernetes的标准是使用Ingress Controller。提醒一下,这充当了外部世界和集群内应用程序之间的代理。...但是为了自动部署配置而将其直接集成到自动化 CI/CD 流程中并不是一个很好的用途。 Kubernetes集群管理是一项全职工作,需要对工具有很好的了解才能尽可能多地避免出现问题。

    4.6K30

    从理论到实践:用开源工具打造你的专业实训项目

    一、ERP实训:Odoo容器化部署与模块开发技术实现: 高可用架构部署 通过Websoft9提供的《Odoo生产环境部署指南》,可快速实现容器化集群部署方案: # 使用Ansible部署PostgreSQL...自定义模块开发 基于Websoft9开源仓库中的Odoo模块模板加速开发:# 继承采购模块实现供应商评级功能class VendorRating(models.Model): _inherit...partner_id','=',self.id)]) self.delivery_score = sum(po.on_time_rate for po in purchases)/len...,构建领域知识图谱• 使用OpenProject管理技术文档版本,关联GitLab代码提交记录自动化工具链undefined• 采用Websoft9开源的Ansible Role仓库(如mysql-ha-role...)快速部署复杂架构• 通过其提供的Terraform模块实现多云资源编排实训环境标准化undefined• 基于Websoft9发布的VMware/Vagrant镜像模板统一开发环境• 使用其维护的Docker

    30600

    SAP、Oracle、Odoo血拼中小企业 国内厂商何以应对?

    但是这一策略对于用户而言显然过于激进,特别是在中国市场,多数的中国大中型企业用户还没有做好完全上云的准备,Oracle的这一策略迫使中国企业用户改换门庭,纷纷转头SAP,这也是SAP在2017和2018...其实在中小企业市场,SAP并非没有尝试,曾经也推出过SAP的B1产品,和SAP Byd的减化版用来抢占中小企业市场,但是中大型企业和中小企业有所不同,SAP用大客户的思维来销售来向中小企业销售产品,合作伙伴也因为客单价低利润薄还需要实施...让中小企业能够快速使用和上线。...在提到所谓的下一代生态合作伙伴时纪秉盟表示:在过去,SAP生态系统更多是帮助SAP销售软件产品、帮助客户进行部署和实施,以系统集成商为主;在未来,在与系统集成商合作的基础上,SAP还将专注培养和建设下一代生态系统...Odoo能否成为SAP和Oracle路上的拦路虎 SAP和Odoo两家企业都源自欧洲市场,SAP凭借成熟的套装软件称霸大型企业市场,在产品技术架构上更为传统和复杂;Odoo则是一家国际知名的中小企业软件厂商

    1.9K32

    Odoo系统介绍和对比

    image.png 10.第三方应用(微信集成) image.png 11.微信模块 Odoo 的微信模块,提供了对微信公众号和企业号(企业微信)的接入与管理,实现了微信消息与Odoo聊天的无缝对接...的工作流系统提供: 记录(文档)随时间的演变的描述 基于各种灵活条件的自动操作 管理公司角色和验证步骤 管理对象之间的交互 通过其生命周期形成可视化的文档流表示 image.png image.png...2、MongoDB非关系型数据库,没有事务,跟金钱相关,对事务性要求比较严格的场景不太合适 3、PostgreSQL相当于MySQL+MongoDB,既是关系型数据库,又保障性能 4、Odoo为小微企业服务...,保障部署和业务简单,只选择一个数据库,综合起来,首选就是PostgreSQL Odoo对PostgreSQL的介绍: image.png 25.开源数据库选择 1、数据量支持的规模,MySQLOdoo针对小微企业,采用脚本语言;SalesForce的Apex是自研的,采用Java

    4.5K20

    ​在tinycolinux上编译odoo8

    这迎合了采用统一存储后端的设计,可以使得odoo的document模块使用分块filestor文件系统,见《发布mongopress,基于统一的分布式数据库和文件系统mongodb》同类文章。...混合语言”系统(它没有提出新语言)。...对于pgsql我下载的是postgresql-10.1.tar.gz,按处理python src的方法处理它,会要求用到readline,在sudo ....怎么应用和操作又是一种境地了,odoo所有的操作中,数据都有固定的视图,一条博文和一个文件是一样的,一个产品和一个电脑是一样的,faint,我记得怎么进管理模式,忘了。...一个同时带托管和编辑性质的传统简装paas(不喜欢sandstorm那种,它所处的抽象层是多余的不需要paas这样一个东西只需要appstackx) 下一篇或许是《oc上集成wordpress as cms

    1.8K40

    odoo context上下文用法总结

    _context {'lang': 'en_US', 'tz': 'Europe/Brussels'} >>> recordSet.env.context # 注意,上下文是和记录集绑定的,上述的self..._context is {'key1': True, 'key2': True} 需要注意的是,上下文是和记录集绑定的,修改后的上下文并不会在其它记录集中共享 应用场景示例 用于action,为关联视图添加默认搜索...--此处代码略...--> odoo> 说明:'group_by': '分组字段名称' 用于视图对象按钮,传递数据给模型方法 模型设计 #!...为可编辑列表视图字段搜索添加查询过滤条件](odoo 为可编辑列表视图字段搜索添加查询过滤条件.md) 用于记录集,传递数据给模型方法 模型设计 #!...或者write方法,调用该方法前修改上下文,然后在方法中通过self.env.context获取上下文中的目标key值,进而实现目标需求 res = super(EstatePropertyTag

    3.1K20

    如何在 CentOS 8 上安装 Odoo 13

    Odoo 是世界上最流行的多功能商业软件。它提供了一系列商业应用程序,包括 CRM,网站,电子商务,账单,账户,工业制造,仓库,项目管理,库存管理,等等,所有的东西都无缝集成。...postgresql-setup initdb 启用并且启动 PostGreSQL 服务: sudo systemctl enable --now postgresql 创建一个 ProtgreSQL 用户,使用和前面创建的系统用户名字一样的名字作为数据库用户名...这意味着,Nginx 将会处理并且解密进来的 TLS 连接(HTTPS),并且传递未被加密的请求到内部服务(Odoo)。在 Nginx 和 Odoo 之间的流量将不会被加密。...想要启用多进程,你需要编辑 Odoo 配置文件,并且设置一个非 0 的工作进程数字。工作进程数字,基于 系统中的 CPU 核心数字和可用的 RAM 内存来计算。...在这篇指南中,我们将 Odoo,PostgreSQL 和 Nginx 安装在同一个服务器上。依赖于你的设置,你的服务器上还有其他的服务。

    4.8K20

    在Ubuntu 16.04上安装Odoo 10

    没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。...注意 如果您在同一个腾讯云CVM服务器上运行多个Odoo版本,则可能需要为每个实例使用不同的用户和目录。...您选择的选项取决于您的特定需求: 要同时使用日志和单独的Odoo日志文件,请创建相应的目录: sudo mkdir /var/log/odoo 要仅使用journald用于日志记录,您不需要创建任何目录...更新Odoo 在更新Odoo系统之前,您应该检查一切是否按预期工作,尤其是第三方模块。最安全的方法是使用测试环境,这只是一个单独的Odoo安装。...配置UFW防火墙 为了在生产的同时使用测试环境,我们需要使用不同的TCP端口进行服务器连接: sudo ufw allow 8080/tcp 创建单独的数据库用户 一个独立的数据库用户没有必要像以前一样使用密码

    4.6K42

    全渠道客服中心聊天机器人实战

    集成已有的服务——如果使用了基于云服务的系统,那么你所使用的客户中心可能已经提供了这些功能。 使用Twilio Studio 我热爱开发工作,不过最近几年因为转向了产品管理,所以没有怎么做开发。...从长期来看,通过自开发服务来支持多渠道是一项很繁琐的工作,而集成已有服务缺乏可定制性和灵活性,因为它们提供的服务都是千篇一律的。...要在Twilio Studio中获取Google Sheet的内容,可以使用Zapier。Zapier是一个非常好的服务集成工具。 我们创建了一个Zap: ? ?...在选择Spreadsheet和Worksheet后,Zapier会自动添加Google Sheet中的三个字段(Date、From和Message)。...这里需要注意: 我在MESSAGE BODY中设置了一条非常简单的消息:非常感谢,如果有什么有趣的事情,我会让您知道的。 我没有把另一个用于处理失败流程的Flow列在这里,因为没有必要。

    6.6K70

    Claude 现在可以连接到你的真实世界,开始接管你的工作

    它支持Scrum和Kanban等敏捷开发方法,提供看板视图、冲刺规划等功能。此外,Jira还具备高度可配置性,允许团队根据自身需求定制工作流程。...Zapier Zapier是一款自动化工作流工具,能够将不同的应用程序和服务连接起来,实现数据的自动传输和操作。...借助 Zapier 集成 ,Claude 可以通过对话访问这些应用程序和您的自定义工作流,甚至可以自动从 HubSpot 提取销售数据,并根据您的日历准备会议摘要。...Integrations集成安全 开发人员可以使用文档或 Cloudflare 等提供内置 OAuth 身份验证、传输处理和集成部署的解决方案,在短短 30 分钟内创建自己的集成。...Claude Max、Team 和 Enterprise 计划的用户可在 Claude.ai 和 Claude Desktop 上使用远程 MCP 进行自定义集成。此功能目前处于测试阶段。

    73200
    领券