ODOO12 为已有模型添加字段

       为已有表单添加字段是种常见的自定义操作,我们无需创建自定义模块即可在用户界面中进行实现。就我们 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快捷键来重载页面。这时打开任意联系人名片,可以看到右侧标签字段下会多出一个新字段:

视频演示:

https://download.csdn.net/download/r_nznf/12793235

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

r_nznf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值