Odoo,OpenERP中文网 / 2014-07-16

文所说的是关于OpenERP中同一个对象(同名继承)使用view_id来指定form和tree视图的方法,由于官方文档中Views and Events那一节没有提到,但是实际项目中会用到,所以在此记录并分享!

官方文档中提到,有两种情况我们也许会指定一个view而不是用默认的那个:

  • 一个对象有几个form或tree视图
  • 想用一个关系字段(例如o2m)来改变form或tree视图

紧接着文档介绍了priority字段:

在视图的定义中我们可以使用priority字段,它的默认值是16.默认情况下,OpenERP会使用带有最高优先级(也就是最小数字)的tree视图来显示一个model。

ok,如果是刚接触OpenERP,乍一看貌似能解决不少问题,可是情况却不一定,因为有一行加粗的字写到:

It will always use the second one, because it has a higher priority ! Unless you tell it to use the first one !

什么叫“除非你告诉它要用第一个(视图)”?难道我不能理解为the first one被废弃了?

好吧,我们看一下如何为每个action指定view?在ir.actions.act_window中使用字段view_id,ref的值为指定的view 的id。当然了,如果你想指定一个在别的模块中定义的view,那么要记得加上模块名(即module.view_id)。

对于这个字段的功能,看起来听不错的,直接指定id,而不用去安排什么优先级,何况文档也没介绍低优先级的view怎么去使用。那么对于一个同名集成的model,由于已经存在各种视图(form/tree/kanban etc.),而我们在定制过程中想改变form和tree视图,怎么办?并且我们在view_mode中明明指定tree在前,为啥不起作用呢?

通过google找到了答案:

有一个model叫 ir.actions.act_window.view,我们可以使用它来完美解决问题。我们定义一个record中仅包含4个field即可:

  • <field name=”sequence” eval=”1″/>
  • <field name=”view_mode”>form</field>
  • <field name=”view_id” ref=”module.view_id”/>
  • <field name=”act_window_id” ref=”your act_window id”/>

如此而已!

OpenERP为form和tree视图同时指定view_id的方法的更多相关文章

  1. Odoo 二次开发教程(三)-第一个Model及Form、Tree视图

    创建完我们的模块,接下来我们就要为我们的模块添加一些对象.今天我们将要创建一个学生对象(tech.student)和一些基本的属性,并将用form和tree视图将其展示出来: 一. 创建tech.st ...

  2. odoo开发笔记 -- tree视图按指定字段group_by分组显示

    注意点: view视图文件中的搜索视图要放在action视图的前边. 在action视图中,要写search_view_id, 还有context, search_default_group_by_字 ...

  3. openerp学习笔记 视图(tree\form)中隐藏按钮( 创建、编辑、删除 ),tree视图中启用编辑

    视图(tree\form)中隐藏按钮( 创建.编辑.删除 )create="false" edit="false" delete="false&quo ...

  4. odoo12 Tree视图创建编辑旁边新增按钮,并根据条件隐藏

    前言 我们通常在form视图中可以很简单地在header里面添加按钮,但是在某些情况下,我们也需要在Tree视图中添加按钮,但是odoo官方目前没有给我们提供相应的接口,因此,我们尝试自己来实现它.最 ...

  5. tree视图显示的记录数量

    在act_window中,定义limit字段,可以指定打开的tree视图的记录数量. limit:列表视图中每个页面的记录数.

  6. 控制跳转的tree视图显示的列表项数量

    在act_window中,定义limit字段,可以指定打开的tree视图的记录数量.   limit:列表视图中每个页面的记录数.

  7. odoo视图入门学习- tree视图的使用

    上一篇内容:如何快速在odoo中创建自己的菜单 前言 上面的内容我们已经学会了如何去创建odoo的菜单,下面我们要学习的是odoo的基础视图tree视图,我们的目标是实现型号管理的列表页面 创建mod ...

  8. ##DAY3 自定义视图、视图控制器、视图控制器指定视图、loadView、 viewDidLoad、MVC、屏幕旋转、内存警告

    ##DAY3 自定义视图.视图控制器.视图控制器指定视图.loadView. viewDidLoad.MVC.屏幕旋转.内存警告 #pragma mark ———————自定义视图的步骤 —————— ...

  9. Odoo13之在tree视图左上角添加自定义按钮

    前言 首先展示效果图,如下图所示,在资产设备模块tree视图的左上角添加了一个同步资产的按钮. 要完成按钮的添加,分为四步,分别是: 1.编写xml文件,找到相关模型tree视图,并给模型tree视图 ...

随机推荐

  1. hdu 1140(三维)

    War on Weather Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)To ...

  2. java反射(基本知识)

    在java中反射降低了模块间的依赖性这个过程称解耦---高内聚,低耦合 在java中,万物皆对象,则将字节码看成一个对象,将一个方法看成一个对象..... 反射--剖析类,分析类的字节码,产生对象的字 ...

  3. POJ 2503.Babelfish-sscanf()函数+strcmp()函数+二分

    Babelfish   Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 44545   Accepted: 18803 Des ...

  4. Codeforces Beta Round 84 (Div. 2 Only)

    layout: post title: Codeforces Beta Round 84 (Div. 2 Only) author: "luowentaoaa" catalog: ...

  5. Codeforces #442 Div2 E

    #442 Div2 E 题意 给你一棵树,每个结点有开关(0表示关闭,1表示开启),两种操作: 反转一棵子树所有开关 询问一棵子树有多少开关是开着的 分析 先 DFS 把树上的结点映射到区间上,然后就 ...

  6. Dumpzilla工具第615行bug的解决办法

    Dumpzilla工具第615行bug的解决办法   在Dumpzilla使用选项frequency时,会提示SQL语法错误.这是由于其中SQL语句编写错误.需要将615行中: where url l ...

  7. [Atcoder Regular Contest 064] Tutorial

    Link: ARC064 传送门 C: 贪心+对边界的特殊处理 #include <bits/stdc++.h> using namespace std; typedef long lon ...

  8. JavaEE学习路线图

    http://www.cnblogs.com/gaoming7122/archive/2012/11/20/2778308.html

  9. MythXinWCF通用宿主绿色版V1.2发布,及服务启动相关说明

      最新下载地址 更新日志: 1.宿主配置增加了最大连接及队列数.允许数据传输量 2.程序大量优化 3.bug修正 4.增加已服务方式启动 点击服务方式启动后,会将软件注册为服务. 然后软件就会变成一 ...

  10. jQuery--样式

    Jquery(一)——样式篇1.$(document).ready 的作用是等页面的文档(document)中的节点都加载完毕后,再执行后续的代码, 因为我们在执行代码的时候,可能会依赖页面的某一个元 ...