在上一篇文章中,我们概览了模型创建以及如何从模型中载入和导出数据.现在我们已有数据模型和相关数据,是时候学习如何编程与其进行交互 了.模型的 ORM(Object-Relational Mapping)提供了一些交互数据的方法,称为 API(Application Programming Interface).这包括基本的增删改查(CRUD)操作,也包括一些其它操作,如数据导入导出,以及改善用户界面和体验的工具方法.它还包含一些我们在前面文章中所看到的装饰器.这些都让我们可以通过添加新的方法来调…
在前面的文章中,我们学习了模型层.如何创建应用数据结构以及如何使用 ORM API 来存储查看数据.本文中我们将利用前面所学的模型和记录集知识实现应用中常用的业务逻辑模式. 本文的主要内容有: 以文件为中心工作流的阶段(stage) ORM 方法装饰器:@api.multi, @api.one和@api.model onchange方法,与用户即时交互 使用 ORM 内置方法,如create, write 和 unlink Mail 插件提供的消息和活动功能 创建向导来帮助用户执行复杂操作 使用…
Odoo 服务器端带有外部 API,可供网页客户端和其它客户端应用使用.本文中我们将学习如何在我们的客户端程序中使用 Odoo 的外部 API.为避免引入大家所不熟悉的编程语言,此处我们将使用基于 Python 的客户端,但这种 RPC 调用的处理方法也适用于其它编程语言. 我们将一起了解如何使用 Odoo RPC调用,然后根据所学知识使用 Python创建一个简单的图书命令行应用. 本文主要内容有: 在客户端机器上安装 Python 使用XML-RPC连接 Odoo 使用XML-RPC运行服务…
在前面的文章中,我们学习了模型层.如何创建应用数据结构以及如何使用 ORM API 来存储查看数据.本文中我们将利用前面所学的模型和记录集知识实现应用中常用的业务逻辑模式. 本文的主要内容有: 以文件为中心工作流的阶段(stage) ORM 方法装饰器:@api.multi, @api.one和@api.model onchange方法,与用户即时交互 使用 ORM 内置方法,如create, write 和 unlink Mail 插件提供的消息和活动功能 创建向导来帮助用户执行复杂操作 使用…
-----------------更新时间11:17 2016-09-18 星期日11:00 2016-03-13 星期日09:10 2016-03-03 星期四11:46 2016-02-25 星期四10:06 2016-02-24 星期三14:51 2016-02-23 星期二18:07 2016-02-19 星期五17:44 2016-02-17 星期三-----------------*模型  模型是业务对象的呈现  * 系统已定义的模型查看  设置->技术->数据结构->模型 …
转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826218.html 一:record set 1:获取记录集 1)在@api.multi修饰器修饰的函数中,self就是记录集. 2)在模型.controller方法中执行search()操作时,返回的就是符合查询条件的记录集. 2:从记录集可以获取什么 ids 得到当前记录集的id列表 ensure_one() 验证一个记录集合是否只包含一条记录 exists() 返回当前记录集中真正存在的子集,并…
Odoo 起初是一个后台系统,但很快就有了前端界面的需求.早期基于后台界面的门户界面不够灵活并且对移动端不友好.为解决这一问题,Odoo 引入了新的网站功能,为系统添加了 CMS(Content Management System)内容管理系统.这使得我们无需集成第三方 CMS 便可创建美观又高效的前端.本文中我们将学习如何利用 Odoo 自带的网站功能开发面向前端的插件模块. 本文主要内容有: 学习项目 – 自助图书馆 第一个网页 创建网站 开发准备 我将用第十一章 Odoo 12开发之看板视…
报表是业务应用非常有价值的功能,内置的 QWeb 引擎是报表的默认引擎.使用 QWeb 模板设计的报表可生成 HTML 文件并被转化成 PDF.也就是说我们可以很便捷地利用已学习的 QWeb 知识,应用到业务报表中.本文中我们将为图书馆应用添加一个报表,复习 QWeb生成报表的关键技巧.包括像汇总一类计算.翻译和纸张样式打印. 本文主要内容有: 安装wkhtmltopdf 创建业务报表 QWeb 报表模板 在报表中展示数据 渲染图片 报表汇总 定义纸质格式 在报表中启用语言翻译 使用自定义 SQ…
本文将学习如何为用户创建图形化界面来与图书应用交互.我们将了解不同视图类型和小组件(widgets)之间的差别,以及如何使用它们来提供更优的用户体验. 本文主要内容有: 菜单项 窗口操作(Window Actions) 表单视图结构 字段 按钮和智能按钮 动态视图元素 列表视图 搜索视图 其它视图类型 开发准备 我们将继续使用library_checkout插件模块,它已经有了模型层,现在需要视图层来实现用户界面.本文中的代码基于第八章 Odoo 12开发之业务逻辑 – 业务流程的支持,相关代码…
在本系列文章第三篇Odoo 12 开发之创建第一个 Odoo 应用中,我们概览了创建 Odoo 应用所需的所有组件.本文及接下来的一篇我们将深入到组成应用的每一层:模型层.视图层和业务逻辑层. 本文中我们将深入学习模型层,以及学习如何使用模型来设计应用所需的数据结构.我们会探索模型和字段的各项作用,包括定义模型关系.添加计算字段.创建数据约束. 本文的主要内容有: 学习项目 – 优化图书馆应用 创建模型 创建字段 模型间的关系 计算字段 模型约束 了解 Odoo的 base 模型 开发准备 本文…