#python #openerp #odoo-8
#python #openerp #odoo-8
Вопрос:
У меня есть иерархические категории в Odoo, подобные этому
All
Saleable
Accessories
Audio
Video
Components
чтобы получить, например, все дочерние элементы Accessories
категории, я использую приведенный ниже код: listcat = self.env["product.category"].search([('id', 'child_of', 8)])
. Где 8 — идентификатор Accessories
. И в результате : product(8,17,18)
Моя проблема заключается в том, что при поиске, если компонент (id = 9) является дочерним элементом аксессуаров, он всегда выдает мне 1 (что означает, что он дочерний).
exist_in_category=listcat.search_count([('id','=',9)])
Комментарии:
1. просто имейте в виду, что метод search() выдает и возвращает идентификаторы объектов, в то время как метод search_count() дает нам общее количество записей в этом объекте
2. Но… В чем вопрос? Вы выполняете простой search_count по id = 9 и поиск с помощью child_of … Мне кажется, что все работает так, как ожидалось. Потому что вы всегда найдете только один элемент с при фильтрации по одному идентификатору.