2019独角兽企业重金招聘Python工程师标准>>>

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.modeldef 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 就可以把搜索到想要的记录了

转载于:https://my.oschina.net/u/241688/blog/639829

odoo 中实现多列搜索相关推荐

  1. 宇视NVR录像机,录像下载过程中,查询录像搜索列别里面为空

    录像下载过程中,查询录像搜索列别里面为空 1)清除浏览器缓存 2)更换浏览器

  2. 3.odoo的学习(odoo中的视图:tree视图、form视图、search视图)

    目录 1.什么是视图 2.视图的声明方式 3.tree视图 4.form视图 5.search视图 6.优先级 1.什么是视图 在Odoo中,视图(view)定义了模型记录的显示方式. 每种类型的视图 ...

  3. odoo 中的 domian 和 运算符

    大家好, 我们今天主要来介绍一下odoo 中的 Domian . 什么是Domain ? 简单的说就是一种条件语句,用来过滤您的数据.这些条件,通过使用Polish Notation(波兰表达式) 来 ...

  4. python3读取excel某一列_怎样用python,读取excel中的一列数据!python读取excel某一列数据...

    Python 如何循环读取csv或者excel中的一列数据,写入到中搜索 是可以 a.csv复制到 b.csv中 import csv def foo(): with open('a.csv', 'r ...

  5. odoo中页面跳转相关

    在添加自定义服务器动作 "复制全部"后发现直接创建了新的记录,并且直接进入到form保存完的状态. 如何解决: if yourself_obj_copy:return {'type ...

  6. python修改csv文件字段顺序_Pandas中DataFrame交换列顺序的方法实现

    一.获取DataFrame列标签 import pandas as pd file_path = '/Users/Arithmetic/da-rnn-master/data/collectd67_po ...

  7. 回溯法采用的搜索策略_下列那种函数是回溯法中为避免无效搜索采取的策略( )_学小易找答案...

    [填空题]图示刚架,单元编号.结点编号和结点位移编号如图所示,则单元 3的单元定位向量为 _________ .提示:写成 [ , , , , ,]T的形式 [单选题]下列测量仪器中,最适宜用于多点水 ...

  8. 【odoo15】odoo中的fa-xxx小图标

    odoo中的小图标使用的就是这个: odoo中的可用图标库可以在如下的位置找到包含图标css文件: /addons/web/static/lib/fontawesome/css/font-awesom ...

  9. datatable筛选条件_DataTables 多条件查询、多列搜索

    在使用DataTables展示数据,通常有两种 根据条件获取最终的数据显示 在已经显示的数据中过滤 第二种,DataTables 本身提供了过滤插件,默认条件下,在表格的右上角会有一个搜索框,可以对表 ...

  10. odoo中的ORM操作

    ORM方法简介 OpenERP的关键组件, ORM是一个完整的对象关系映射层,是开发人员不必编写基本的SQL管道. 业务对象被声明继承字models.Models的python类. 这让业务对象在OR ...

最新文章

  1. 吴军:既能得诺贝尔奖,又能生产高科技产品,美国的科研机制是如何运行的?...
  2. Python(4)--Pycharm安装、使用小技巧
  3. java连接phpstudy_PHPStudy快速自动搞定所有配置文件
  4. linux服务器数据备份到本地硬盘_等保数据备份和恢复关键点,这些你该知道!...
  5. java制作仿win7计算器之二完结篇
  6. CS1.6自定义游戏中的H菜单和设置菜单,增加一键买枪功能
  7. html链接到word文档,word做html超链接
  8. 基于Python实现的合同管理系统设计
  9. 前端字体图标的使用总结
  10. linux kernel的中断子系统之(三):IRQ number和中断描述符
  11. 设任意n个整数存放于数组A[1..n]中,试编写算法,将所有正数排在所有负数前面(要求:算法时间复杂度为O(n))。
  12. 英语四级作文模板(一)
  13. 带有默认参数值的构造函数
  14. 他,如此与众不同 ——法国《世界报》专版聚焦DJ
  15. 手把手教你读财报----银行业----第四课
  16. rabbitmq-server-3.8.9-1.el7.noarch.rpm百度网盘链接
  17. 2021010982
  18. Where 和Having的区别
  19. 工控自动化定义及发展历程
  20. postgresqel,apace2简单记录

热门文章

  1. 代码修改及模型复查 12-6
  2. 多路复用增益,PASTA定理
  3. 分组码--原理,码率,软硬判决,编码增益
  4. 最大熵模的理解与最大熵模型逻辑回归相似转换条件
  5. Python]网络爬虫
  6. ubuntu下安装matlab及配置vot-toolkit
  7. 通用算法(ML,DL)分类判定指标:召回率 Recall、精确度Precision、准确率Accuracy等
  8. 101.对称二叉树(力扣leetcode) 博主可答疑该问题
  9. PHP进行AES/ECB/PKCS7 padding加密的例子(openssl)
  10. (转)如何入门 Python 爬虫