Odoo Mindscape. Understand Odoo faster. Explore modules, fields, dependencies and version differences in one place instead of digging through the source code.

Module: MRP Subcontracting

Entity: res.partner

Compute Method: _compute_bom_ids

Inputs Method Outputs
  • commercial_partner_id
  • commercial_partner_id.ids
  • id
  • child_ids
  • child_ids.ids
results = self.env['mrp.bom']._read_group([('subcontractor_ids.commercial_partner_id', 'in', self.commercial_partner_id.ids)], ['subcontractor_ids'], ['id:array_agg'])
for partner in self:
            bom_ids = []
            for subcontractor, ids in results:
                if partner.id == subcontractor.id or subcontractor.id in partner.child_ids.ids:
                    bom_ids += ids
            partner.bom_ids = bom_ids

Back to entity