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. [BZOJ3585]mex 主席树

    3585: mex Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 1252  Solved: 639[Submit][Status][Discuss] ...

  2. 使用CreateRemoteThread把代码远程注入指定exe执行

    由于本人也是新手,如果有朋友不懂windows api相关知识,我相信查阅书籍或者百度会比我说有帮助的多,下面就我所做简单复述一下过程,欢迎指正缺点. 效果图示如下: 做的这个例子首先是创建了一个MF ...

  3. Python3中的新特性(2)——常见陷阱

    1.文本与字节 Python3对文本字符串(字符)和二进制数据(字节)进行了严格区分,'hello'表示一个以Unicode编码保存的文本字符串,而b'hello'表示一个字节字符串. 在Python ...

  4. linux下IPTABLES配置详解 (防火墙命令)

    linux下IPTABLES配置详解 -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 24000 -j ACCEPT ...

  5. Web.config中appSettings节点值两种读取方法

        <appSettings>    <add key="ClientPort" value="5252"/>   <add ...

  6. 如何修改wamp目录【成功】

    Wampserver安装好后,“www目录”默认为X:/wamp/www,(这里的X是盘符)也就是wampserver安装目录下的www文件夹.实际使用中,默认设置往往不是我们想要的,可能改成其他文件 ...

  7. noi 题库1.7字符串 第16至20题

    16:忽略大小写的字符串比较 一般我们用strcmp可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按ASCII码值大小比较),直到出现不同的字符或遇到'\0'为止.如果全部字符 ...

  8. 6.4(java学习笔记)转换流

    一.乱码问题 我们来看下列例子: public class ConStream { //当前平台默认采用GBK public static void main(String[] args){ Stri ...

  9. Maven设置snapshot无法在远程仓库下载的问题解决

    检查步骤如下: 1.检查nexus是否纳入public版本中: 2.配置中是否启用snapshots功能.以下方法两种设置都可以,任选一个即可. 一种是在项目pom.xml使用: <reposi ...

  10. Linux下的/etc/crontab文件和crontab -e命令区别及Crontab命令详解(转)

    /etc/crontab文件和crontab -e命令区别 1.格式不同 前者 # For details see crontabs # Example of job definition: # .- ...