Odoo 9/10:如何以编程方式获取所有父母对象的孩子ID,包括其父母ID?

问题描述 投票:0回答:1

我在res_users和product_category对象之间有一个many2many关系。所以我这样定义它:

class ResPartner(models.Model):
    _inherit = 'res.partner'

    category_ids = fields.Many2many('product.category', 'category_user_rel', 'pcu_user_id', 'pcu_category_id', string='Assign To Product Categories')

class ProductCategory(models.Model):
    _inherit = 'product.category'

    user_ids = fields.Many2many('res.users', 'category_user_rel', 'pcu_category_id', 'pcu_user_id', string='Assign To Users')

现在,我想以编程方式获取当前用户的所有类别及其子类别ID的列表?

谢谢。

odoo odoo-10 odoo-9
1个回答
1
投票

您可以使用与当前用户的关联伙伴来获取当前用户category_ids

partner_categories = self.env.user.partner_id.category_ids

使用child_of运算符检索所有子类别:

self.env['product.category'].search([('id', 'child_of', partner_categories.ids)])
© www.soinside.com 2019 - 2024. All rights reserved.