odoo开发domain的使用

来源:互联网 发布:淘宝常用模块怎么设置 编辑:程序博客网 时间:2024/05/17 20:31

odoo开发中,domain的使用可以在view中,可以在model中,因此说说自己用到的一些地方。

首先domain得使用方法就不说了,可以参考http://www.chinamaker.net/html/2014/study_1211/183.html,写的还是挺详细的,说说在view中的使用。

1、view中字段关联的过滤

在view视图中,字段之间的关联使用,比如说在地址信息中,有省、市、县信息,因此在选择省的时候就在市中列出该省的市来,那么首先字段中要设置市的字段,比如:

city 的model中要设置和省得多对一的字段

state_id=fields.Man2one('state',u'省名称',required=True,select=True)

那么在odoo的view视图中要设置省字段,市字段,设置domain过滤,可以参考http://www.chinamaker.net/html/2015/study_0929/219.html

<field   name="city_id" placeholder="城区"  domain="[('state_id','=',state_id)]"/>

2、过滤只显示需要显示的数据

在view视图中,哟时候需要根据不同的权限显示不同的数据,因此需要对数据进行过滤,我看到资料可以根据用户组来显示,但是没有用到过,没有尝试,可以参考这篇博客http://blog.sina.com.cn/s/blog_7cb52fa80102v4z0.html,

比如我遇到一个需求,只显示某一字段非非空的数据,在act-window视图中添加过滤条件

<field name="domain" >[('home','!=',False)]</field>
就可以显示该字段为非空的情况。

(注意:在实践中发现如果设置了该过滤条件,那么再更改过滤条件升级模块会发现显示的数据还是之前过滤条件,怎么解决这个bug呢?需要把该菜单隐藏后升级,然后再放出菜单再升级才会实现过滤条件的更改,当时弄了半天才发现这个bug)


1 0
原创粉丝点击