博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
产品分类的多级搜索
阅读量:6262 次
发布时间:2019-06-22

本文共 869 字,大约阅读时间需要 2 分钟。

Odoo默认情况下,对于产品分类的搜索只能匹配到最末一级的分类,然而在实际的实施过程中,会有很多种情况需要搜索分来的父级乃至顶级,这种情况下就需要我们通过复写默认的name_search方法来达到这种目的了。

代码采用v8 api的写法,v7的请自行转换。

 

@api.model    def name_search(self,name='',args=None,operator='ilike',limit=100):        categroies = self.search([('name',operator,name)])        categroies = self._search_category(categroies)        if len(categroies):                        print categroies.name_get()            return categroies.name_get()        return super(product_category,self).name_search(name=name,args=args,operator=operator,limit=limit)    @api.model    def _search_category(self,categroies):        for category in categroies:            sub_categories = self.search([('parent_id','=',category.id)])            categroies += self._search_category(sub_categories)        return categroies

 

方法说明:

  首先,查找名称为要搜索的分类的全部分类,然后,递归查找所有以找到的分类为父级分类的子分类,并将其用name_get方法返回 

 

转载地址:http://tczpa.baihongyu.com/

你可能感兴趣的文章
2012年网页设计趋势2
查看>>
atmega8 例程:INT1外部中断
查看>>
python类库32[多进程之Pool+Logging]
查看>>
现有portal项目(商业的和开源的)解决方案及优缺点
查看>>
集群(cluster)原理(转)
查看>>
Qt简介以及如何配置Qt使用VS2010进行开发
查看>>
html、html服务器控件和web服务器控件的区别
查看>>
8天玩转并行开发——第四天 同步机制(上)
查看>>
map 取最大value
查看>>
WCF中的异步实现
查看>>
Thrift之代码生成器Compiler原理及源码详细解析2
查看>>
java垃圾回收
查看>>
案例分析:基于消息的分布式架构
查看>>
简单两步走 中兴V880获取权限方法
查看>>
外部 BLOB 存储体系结构
查看>>
导入文本文件时如何指定字段类型.sql
查看>>
C# 对象二进制序列化
查看>>
收藏的几个好的网站
查看>>
linux中shell变量$#,$@,$*,$?,$0,$1,$2的含义解释
查看>>
前端精选文摘:那些年我们一起清除过的浮动
查看>>