文档章节

odoo 中实现多列搜索

Fly_f
 Fly_f
发布于 2016/03/18 11:43
字数 346
阅读 102
收藏 1
点赞 2
评论 0

odoo 中很多many2one字段很多都有需求要显示 name+description的。

类:

class vp_project(models.Model):
    _name='vp.project'
    _inherit = ['mail.thread', 'ir.needaction_mixin']
    _discription='VP project'
    
    
    name=fields.Char('VP NO.',  required=True,select=True, copy=False)
    applicant= fields.Char('Contact')
    description= fields.Text('Description')
    project_name=fields.Char('Project Name', select=True, copy=False)
    customer = fields.Many2one('res.partner','Customer',required=True, domain=[('customer', '=', True)])


另一个类中有一个字段many2one 

vp_project = fields.Many2one('vp.project', string='VP Project',  states=READONLY_STATES, required=True, track_visibility='always')


在视图中当对字段vp_project进行下拉选择的时候一般时候只会显示name。 即 vp.project 里面的name

有些需求就是要下拉选择的时候能看的project_name. 因为这个vp number只是一个编号不能确定是不是所选的。

要想实现这个功能就要在类 vp_project 里面添加方法

  @api.multi
    @api.depends('name', 'project_name')
    def name_get(self):
        return [(r.id, (r.name +'(' + (r.project_name or _('Default'))+')' )) for r in self]

 下拉选择效果, 就会把project_name 字段也会显示出来

  

要实现输入project name 能搜索到想要的字段只有这样还不可以。 比如现在输入SW 第一个project不会被过滤出来。 

要想实现多列搜索 得在类中再添加一个方法:

  @api.model
    def name_search(self, name='', args=None, operator='ilike', limit=100):
        args = args or []
        domain = []
        if name:
            domain = ['|', ('name', operator, name), ('project_name', operator, name)]
        pos = self.search(domain + args, limit=limit)
        return pos.name_get()

这样输入project name 就可以把搜索到想要的记录了


© 著作权归作者所有

共有 人打赏支持
Fly_f

Fly_f

粉丝 19
博文 40
码字总数 18605
作品 0
松江
程序员
在虚拟公司上进行Odoo8.0虚拟实施,实现假戏真做。

在虚拟公司上进行Odoo8.0虚拟实施,实现假戏真做 此活动的目的为完善现有的Odoo8.0中文应用手册,使其对实施更具有指导和实践意义。 虚拟公司: Odoo中文社区文档交流中心是一家从事Odoo中文...

保定-粉刷匠 ⋅ 2014/10/17 ⋅ 2

Odoo 的微信模块 Oejia_wx v0.2 发布 兼容Odoo9.0!

Oejia_wx Odoo 的微信模块,提供了对微信公众号的接入与管理,实现了微信消息与Odoo聊天的无缝对接。 版本概述 增加了对 Odoo9.0 的支持 其他一些 bug 修复 使用说明 http://www.oejia.net/b...

Jone.x ⋅ 2016/03/12 ⋅ 0

如何在CentOS 7.x中安装OpenERP(Odoo)

各位好,这篇教程关于的是如何在CentOS 7中安装Odoo(就是我们所知的OpenERP)。你是不是在考虑为你的业务安装一个不错的ERP(企业资源规划)软件?那么OpenERP就是你寻找的最好的程序,因为...

酱醋茶丶 ⋅ 2015/11/09 ⋅ 0

在Ubuntu上安装Odoo 11(企业版)

在Ubuntu上安装Odoo 11(企业版) 2017年10月8日YENTHE666 在本教程中,我将学习如何在Ubuntu 16.04上安装Odoo 11社区或企业。您将使用的脚本基于AndréSchenkels的代码,但已更新,升级和改...

james_laughing ⋅ 03/07 ⋅ 0

DTK列表控件原理与API详解

为什么要重新造一个ListView控件? 在开发应用程序的过程中,经常会使用到列表来展现内容(比如音乐播放器的播放列表和系统监视器的进程列表),而制作列表内容不能像传统的VBoxLayout来添加...

ManateeLazyCat ⋅ 2017/11/04 ⋅ 0

Oejia_wx v0.3.3 ,兼容 Odoo9.0 支持企业号

Oejiawx Odoo 的微信模块,提供了对微信公众号与企业号的接入与管理,实现了微信消息与Odoo聊天的无缝对接。 版本概述 微信企业号相关功能对 Odoo9.0 的支持 其他一些已知 bug 修复 使用说明...

Jone.x ⋅ 2016/10/09 ⋅ 2

安装Odoo(翻译)

翻译者注: 翻译本文的目的是为了安装Odoo 9.0。本文所描述的安装CentOS为7.x,请注意。本人测试了Aliyun CentOS 7.2的RPM安装过程。 正文 这里有若干方式安装Odoo,或者不完整安装依赖的用户...

抢小孩糖吃 ⋅ 2016/08/16 ⋅ 2

CentOS7+Python2.7.14环境安装odoo11

最近了解了一下开源的OpenERP系统,尝试搭建了环境,中间踩了不少坑,记下来分享下。 odoo介绍 odoo, 原名openERP,是开源的ERP系统。使用python和js开发。 odoo官网 安装说明 OenpERP(已更...

无鱼二饼 ⋅ 2017/11/10 ⋅ 0

Oejia_wx v0.4.0 发布,支持 Odoo10

Oejiawx v0.4.0 发布了。Odoo 的微信模块,提供了对微信公众号和企业号的接入与管理,实现了微信消息与Odoo聊天的无缝对接。 特性 用户、组同步管理 用户消息对接chat 一对一实时聊天 高效便...

Jone.x ⋅ 2016/12/16 ⋅ 0

微信模块 Oejia_wx v0.5 发布,支持 Odoo11

Oejiawx v0.5 发布了,Odoo 的微信模块,提供了对微信公众号和企业号的接入与管理,实现了微信消息与Odoo聊天的对接。 v0.5更新内容: 兼容支持 Odoo11 消息渠道配置默认值优化 请求微信接口异...

Jone.x ⋅ 03/15 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

如何使用serverchan微信推送告警

之前实现推送告警信息到微信的方法有如下几种: 1、通过企业公众号实现----收费: 2、通过QQ邮箱,在微信平台上开启收到邮件进行提醒; 3、第三方告警平台API,一般也是收费的; 不过最近看文...

问题终结者 ⋅ 12分钟前 ⋅ 0

TCP的RPC

RPC就是远程方法调用(Remote Process Call ),包含了客户端和服务端,涉及了对象的序列化传输。 1.服务端启动,注册远程调用的类2.客户端发送请求信息包含类、方法、参数的一些信息、序列化传...

Cobbage ⋅ 32分钟前 ⋅ 0

IOS-UI UI初步代码布局添加事件

ISO开发界面,UI是必须学习的一部分,其实很早之前想学来了,一直没有沉下心来学习。看到IOS的代码风格和布局就别扭的不行,跟java代码和android布局比较显得不是那么方便,所以一直到现在。...

京一 ⋅ 42分钟前 ⋅ 0

浅谈OpenDaylight的二次开发

OpenDaylight作为一款开源SDN网络控制器,依托于强大的社区支持以及功能特性,成为了目前主流的SDN网络控制器开发平台。在比较稳定的OpenDaylight Helium版本中,已经为开发者提供了大量的网...

wangxuwei ⋅ 52分钟前 ⋅ 0

API 开发中可选择传递 token 接口遇到的一个坑

在做 API 开发时,不可避免会涉及到登录验证,我使用的是jwt-auth 在登录中会经常遇到一个token过期的问题,在config/jwt.php默认设置中,这个过期时间是一个小时,不过为了安全也可以设置更...

等月人 ⋅ 52分钟前 ⋅ 0

Java NIO之文件处理

程序要操作本地操作系统的一个文件,可以分为以下三个部分: 对文件位置的操作 对文件的操作 对文件内容的操作 其中,对文件内容的操作在 Java NIO之Channel 中已经有了介绍,通过FileChann...

士别三日 ⋅ 57分钟前 ⋅ 0

Maven的pom.xml配置文件详解

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.......

小海bug ⋅ 今天 ⋅ 0

解决httpclient超时设置不生效的问题

最近公司有项目需要通过http调用第三方服务,且第三方服务偶有超时,故需要设置一定的超时时间防止不响应的情况出现。 初始设置如下: [java] view plain copy //超时设置 RequestConfig re...

Mr_Tea伯奕 ⋅ 今天 ⋅ 0

过滤器Filter和拦截器HandlerInterceptor

过滤器 依赖于servlet容器。在实现上基于函数回调,可以对几乎所有请求进行过滤,但是缺点是一个过滤器实例只能在容器初始化时调用一次。使用过滤器的目的是用来做一些过滤操作,获取我们想要...

hutaishi ⋅ 今天 ⋅ 0

Redis入门详解(转)

Redis入门详解 Redis简介 Redis安装 Redis配置 Redis数据类型 Redis功能 持久化 主从复制 事务支持 发布订阅 管道 虚拟内存 Redis性能 Redis部署 Redis应用场景 Redis总结 Redis简介: Redi...

xiaoyaoyoufang ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部