提问人:Talented Developer 提问时间:8/2/2023 最后编辑:CZoellnerTalented Developer 更新时间:8/2/2023 访问量:55
在 many2one 字段 odoo 中搜索
Search in many2one field odoo
问:
在Odoo 15中,销售订单视图,在销售订单行内。我们可以通过条形码搜索产品,但我想使搜索不区分大小写,例如,如果我有两个产品,一个条形码 ='A11',另一个产品条形码 ='A112',我希望在输入“A11”时得到这 2 个产品。
答:
1赞
Kenly
8/2/2023
#1
它被实现为使用 = 运算符搜索产品,如果您将其替换为 ilike,它应该可以工作
例:
class ProductProduct(models.Model):
_inherit = 'product.product'
def _search(self, args, offset=0, limit=None, order=None, count=False, access_rights_uid=None):
if args and args[0][0] == 'barcode':
args[0] = ('barcode', 'ilike', args[0][2])
return super(ProductProduct, self)._search(args, offset=offset, limit=limit, order=order, count=count,
access_rights_uid=access_rights_uid)
评论
1赞
CZoellner
8/2/2023
这可能会导致错误,例如,如果 中的第一个域叶是 (or) 或 (and)。但是,是的,这是一种方法,我可能会做类似的事情。args[0][0]
args
|
&
1赞
Kenly
8/2/2023
感谢您@CZoellner反馈。这只是为了测试,在尝试访问第一个元素之前,我可能会先检查 arg 是元组还是列表的实例。
评论