宜兴通达竭诚为您服务。

为已有模型添加字段

2020-08-31 06:08:00     作者: Administrator     来源:互联网,版权归作者所有     浏览次数: 115     文字大小:【】【】【

你没有登录,文章中的图片无法正常显示,请点击登录

       为已有表单添加字段是种常见的自定义操作,我们无需创建自定义模块即可在用户界面中进行实现。就我们 To-do 应用而言,需要可以选取一组用户对 To-do 项进行协作。我们可以通过在 partner 表单中添加标识来找到这些用户,那么接下来为 partner 模型添加一个Is Work Team? 标记。

       Partner 模型是 Odoo 内核自带的,无需安装任何应用即可使用,但这样在菜单中会无法查看到。一个简单的方法是安装联系人应用。没安装的朋友可以点击应用菜单搜索该应用并进行安装:


     安装完成后即可在顶级菜单中找到联系人项。


为模型添加字段


激活开发者模式后,我们可通过菜单设置 > 技术> 数据库结构 > 模型来查看模型的定义。


这时搜索 res.partner,对应的模型说明为联系人。点击打开表单视图,


这时就可以看到 partner 模型的各类信息,包含字段列表:




点击编辑按钮,然后在字段列表的最下端点击添加明细行,即会弹出窗口用于创建新字段,


输入:

  • 字段名称: x_is_work_team

  • 字段标签: Is Work Team?

  • 字段类型: 布尔型函数


       字段名称必须以 x_开头,这是在用户界面创建模型和字段强制要求的,通过插件模块的自定义开发不受这一限制。只修改添加以上信息点击保存并关闭按钮即可。 再点击左上角的 保存按钮进行最终的保存。


为表单视图添加字段
       我们已经为 partner 模型创建了新字段,但对用户仍不可见,要实现这点我们还要在相应的视图中进行添加操作。再回到前述的 res.partner模型详情页,点击视图标签,我们就可以看到模块的各个视图定义。正如所见,每个视图都是一条数据库记录,修改或添加视图记录即时生效,在下一次加载视图时即可见:


       视图列表中有一些需要注意的事项,我们看到有不同的视图类型,如表单、树形、搜索和看板视图。搜索视图指的是右上角搜索框中的过滤选项。其它视图的数据展示方法也各不相同,基本的类型有树形和表单(用于查看详细信息)。

       可以看到同一视图类型存在多个定义,通过视图类型进行排序可以更清晰地看出。每种视图类型(如表单)可以有一个或多个基础视图定义(包含空的继承视图字段)。菜单项使用窗口动作(Window Action)可以指定要用到的基础视图,如果没有定义,将使用排序值(Sequence)最低的,因而可将其视为默认视图。 点击视图,可以在表单中看到包含排序值在内的所有详情:

       每个基础视图都可以有多个扩展,称为继承视图。每个继承视图可以对基础视图添加修改,如对已有表单添加字段。

       res.partner 模型会包含众多的视图定义,因为类似我们的很多应用都需要对其进行扩展。一个替代方法是进入我们需要扩展的某一具体视图,使用开发者工具菜单对其进行编辑。这也可用于了解某一视图在用户界面的某处被使用了。

       下面我们就来进行操作:

  1.               点击联系人应用显示联系人名片列表,然后点击任意名片进入相应的表单视图

  2.               在表单视图界面,点击开发者工具菜单(右上角调试图标)并选择编辑视图:表单,


       这时可以看到与前述模型页面相同的视图详情表单,但展示在实际定义使用基础视图之上。也就是res.partner.form视图,通过外部ID可以查看模块所有者。本处为base.view_partner_form,所以我们知道这个视图属于基础模块。在结构字段中,我们可以看到基础视图定义的 XML 代码。我们可以在这里编辑视图结构并添加我们的新字段,但从长期看这不是一个好办法:这个视图属于一个插件模块,一旦模块被更新,自定义的代码就会被覆盖并丢失。修改视图的正确姿势为创建一个继承的视图进行扩展:


     3.使用继承视图标签我们可以为基础视图添加扩展视图:

I.首先我们需要在原始视图选择一个元素作为扩展点,我们可以通过查看视图的结构选择一个包含 name 属性的 XML 元素,大多数情况选择的是一个<field>元素,此处我们选择<field name=”category_id”…>元素:

II.现在,点击继承的视图标签回到前述的界面,然后点击最下方的添加明细行链接

III.此时会弹出名为创建继承于此的视图的窗口,填入如下内容

  • 视图名称: Contacts – Custom “Is Work Team” flag

  • 结构:输入如下 XML代码

            <field name="category_id" position="after">

                 <field name="x_is_work_team" />

             </field>

其它重要字段,如模型,视图类型和继承视图使用默认值即可


IV.此时点击保存并关闭按钮,然后在编辑视图:表单窗口点击保存按钮

在保存修改后重载联系人表单视图页面即可查看到变化,在大数浏览器中可以使用 F5快捷键来重载页面。这时打开任意联系人名片,可以看到右侧标签字段下会多出一个新字段:


视频演示:

http://ctdrive.tderp.com/file/13502532-459778658

http://www.tderp.com/download/details/odoo12-842

相关文章 评论

服务原则及地区范围

宜兴通达团队,在企业网络维护和企业信息化建设与咨询方面,有10多年经验。

我团队愿与客户一道,力求彻底解决客户问题!
我们不是在给企业提供“头痛医头、脚痛医脚”的暂时解决方案,而是在部署根本性安全与稳定服务!!
我们愿携手客户,建立企业IT规划;杜绝随意安装系统、软件等操作;力求共同维护有序、安全、稳定的网络办公环境!!!
IT服务,服务是根本,客户是上帝;我们提供快速响应、快速上门、快速排查,提供优质高效的服务!!!!

通达团队提供全国范围内的服务,服务形式包括远程协助、电话咨询、电子邮件咨询、传真咨询、问答平台的问题解决等。

宜兴地区提供上门服务:

  • 市区服务:宜城街道、城北街道(屺亭街道)、新街街道、新庄街道、环科园、渚桥开发区
  • 市郊服务:张渚镇、西渚镇、太华镇、徐舍镇、官林镇、杨巷镇、新建镇、和桥镇、高塍镇、万石镇、周铁镇、芳桥镇、丁蜀镇、湖父镇。
  • 联系电话:189-21-343434
  • 在线沟通: