Odoo自建应用初步总结(一)
学习了《Odoo快速入门与实践 Python开发ERP指南》(刘金亮 2019年5月第1版 机械工业出版社)第6章自建应用入门后进行一下总结。
因为本书作者使用Odoo11,而目前最新版本为Odoo14,因此存在一些版本上的差异。
一、首先是界面差异
Odoo11的菜单在左侧导航区显示,在Odoo14中顶级菜单(parent为空)在导航区显示,而二级及以下菜单在右侧上部显示。
图1 Odoo11界面
图2 Odoo14界面
在Odoo14中,在打开进入具体应用后,左侧导航栏即“消失”了。从图2可以看到这个效果。如果要进入其他应用,可点击界面左上角的图标。
二、技术(代码)上的差异
在第6章中,目前能看到的是方法装饰器@multi已经在Odoo13以后废弃了,所以在相应处,我使用了@depend(value)这个装饰器。
Odoo14一定还有与Odoo11在编码方面的差异,因目前章节还未涉及,故未做深入了解。这个最好能查阅Odoo官网的文档。
三、关于“关注者管理”功能的一些想法
在书中介绍了新增的“关注者管理”功能的视图的创建,是继承了base.view_partner_form,并在该视图的<field name=”mobile”>节点后添加了一个Bug列表。我最初按照书中介绍的步骤进行操作,但并未出现书中展示的如图3所示的界面。在我的应用界面中,首先是“bug”为个标签未出现,其次是bug列表占用了mobile的输入框的位置。还不明白具体是什么原因。但更重要的是,当我打开“联系人”这个应用,并进入一个具体的记录后,这个bug列表完全破坏了原本的布局:直接“冲出”了视图数据的显示区域。
图3 添加bug列表后的显示效果
后来,发现该视图下部有一个“Tabs”标签组,于是尝试新增一个Tab,并将bug列表放在其中。最终结果如图4。
相应的代码如下:
1 <record model="ir.ui.view" id="bug-manage.follower_form">
2 <field name="name">关注者</field>
3 <field name="model">res.partner</field>
4 <field name="inherit_id" ref="base.view_partner_form" />
5 <field name="arch" type="xml">
6 <!-- 在"internal_notes"后面添加一个Tab,在其中布置关注的bug -->
7 <!-- 关注的bug布置在某个Field后,可能会影响整个页面的布局。上次还没有方法整理页面布局 -->
8 <page name="internal_notes" position="after">
9 <page name="关注的Bugs" string="关注的Bugs">
10 <field name="bug_ids" />
11 </page>
12 </page>
13 </field>
14 </record>
这样修改后,在“联系人”应用中的效果也很好。
四、关于权限管理中model_id的命名
关于权限管理的csv文件中的model_id的指定,其实书中已经交待的很清晰了,这里是为了再强调一下:
model_id的命名规则比较固定,比如我们的bug管理模型的_name是bm.bug,那么model_id就是model_bm_bug。
总结一下就是:model_id命名格式:model_<模型类中_name属性设置的值>。特别要注意的是:要将_name值中的“.”替换为“_”(下划线)。
(关于Odoo学习,相关的体会将持续更新。)
Odoo自建应用初步总结(一)的更多相关文章
- Scrum 冲刺第一天
一.团队信息 1.团队名称 挑战极限队 2.团队成员 张博愉(3118005074) 张润柏(3118005075) 郑堉涵(3118005077) 周伟建(3118005079) 林梓琦(31180 ...
- Azure底层架构的初步分析
之所以要写这样的一篇博文的目的是对于大多数搞IT的人来说,一般都会对这个topic很感兴趣,因为底层架构直接关乎到一个公有云平台的performance,其实最主要的原因是我们的客户对此也非常感兴趣, ...
- [web建站] 优课急送《零基础快速学习建站》视频+课件【价值399元】
[课程介绍]你想快速建一个网站出来吗?你想从什么都不懂到一两天出一个漂漂亮亮的站吗?你想完成领导交给你的任务找人建站吗?你想自己建站来创业吗?你想学会建站之后,利用给别人建站来赚钱吗?你想建一个跟某个 ...
- 搜索引擎系列 ---lucene简介 创建索引和搜索初步
一.什么是Lucene? Lucene最初是由Doug Cutting开发的,2000年3月,发布第一个版本,是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎 :Lucene得名于Doug妻子 ...
- Odoo 路线规则实现机制浅析
事情是这个样子的:项目在实施过程中,碰到A仓库向B仓库供货的情况,心想这还不简单,老老实实地建多个仓库并将B仓库的供货仓库选为A仓库,再设置好产品的再订购规则,万事大吉了.然而,事情并非想象的那么简单 ...
- 配置Windows 2008 R2 64位 Odoo 8.0 源码PyCharm开发调试环境
安装过程中,需要互联网连接下载python依赖库: 1.安装: Windows Server 2008 R2 x64标准版 2.安装: Python 2.7.10 amd64 到C:\Python27 ...
- Sprint会议-初步组织划分
主题:Spring冲刺计划会议,组员已认领方式领取任务,对个人任务进行详细划分. 日期:2015.4.26 地点:学一食堂二楼 与会人员:王雪青.陆宇.徐擎天.张文冬.赵建松 索引表 因早期任务的认领 ...
- 配置Windows 2008 R2 64位 Odoo 8.0/9.0 源码开发调试环境
安装过程中,需要互联网连接下载python依赖库: 1.安装: Windows Server 2008 R2 x64标准版 2.安装: Python 2.7.10 amd64 到C:\Python27 ...
- SmartGit初步使用
在Git如日中天的今天,我也不免俗的想用Git将业余时间写的代码管理一下. 什么是Git这里不多说,具体见廖雪峰的Git教程,ProGit等详细教程. 我们这里直接上手. 一.下载Git客户端 1.G ...
随机推荐
- NC21874 好串
NC21874 好串 题目 题目描述 牛牛喜欢跟字符串玩耍,他刚刚学会了一个新操作,将一个字符串x插入另一个字符串y中(包括放在开头和结尾) 牛牛认为如果一个串是好的当这个串能按照如下方法被构造出来: ...
- 详解HashMap源码解析(上)
jdk版本:1.8 数据结构: HashMap的底层主要基于数组+链表/红黑树实现,数组优点就是查询块,HashMap通过计算hash码获取到数组的下标来查询数据.同样也可以通过hash码得到数组下标 ...
- 【cartographer_ros】五: 发布和订阅陀螺仪Imu信息
上一节介绍了里程计Odometry传感数据的订阅和发布. 本节会介绍陀螺仪Imu数据的发布和订阅.陀螺仪在cartographer中主要用于前端位置预估和后端优化. 目录 1:sensor_msgs/ ...
- 如何优化API?8个实用技巧!【eolink翻译】
使用 API 可以让公司利用现代连接的力量来帮助他们扩大全球影响力.传输数据和改进集成.由于 API 使企业能够简化流程并增强可用性,所以企业会使用一些优化策略,不断优化流程,比如接下来要说到的8个技 ...
- javaweb 01: servlet前言
动力节点杜老师,javaweb最新课程的笔记,假期一直跟着bilibili上的课程在学,放在这里,方便复习 Servlet前言 关于系统架构 系统架构包括什么形式? C/S架构 B/S架构 C/S架构 ...
- Python常用基础语法知识点大全
记得我是数学系的,大二时候因为参加数学建模,学习Python爬虫,去图书馆借了一本Python基础书,不厚,因为有matlab和C语言基础,这本书一个星期看完了,学完后感觉Python入门很快,然后要 ...
- JavaWeb--基本概念、Web服务器与Tomcat
前言 Java Web 其实就是一个技术的总和,把Web看成一个容器而已主要使用JavaEE技术来实现.在加上各种中间件. 整个javaWeb阶段的内容通过实际的案例贯穿学习, 所涉及到的技术知识点会 ...
- 使用.NET简单实现一个Redis的高性能克隆版(一)
译者注 该原文是Ayende Rahien大佬业余自己在使用C# 和 .NET构建一个简单.高性能兼容Redis协议的数据库的经历. 首先这个"Redis"是非常简单的实现,但是他 ...
- 我和Apache DolphinScheduler的缘分
关于 DolphinScheduler社区 Apache DolphinScheduler(incubator) 于17年在易观数科立项,19年3月开源, 19 年8月进入Apache 孵化器,社区发 ...
- 我在Apache DolphinScheduler的心路历练
摘要:Apache DolphinScheduler 目前是 Apache 孵化项目,目前正在快速发展中.加入Apache DolphinScheduler社区已一年多,已有 400+ 公司在生产上使 ...