'Low-level method - Multi pricelist, multi products
Returns: dict{product_id: dict{pricelist_id: (price, suitable_rule)} }'

def _compute_price_rule_multi(self, products_qty_partner, date=False, uom_id=False):

    if (not self.ids):
        pricelists = self.search([])
    else:
        pricelists = self
    results = {}
    for pricelist in pricelists:
        subres = pricelist._compute_price_rule(products_qty_partner, date=date, uom_id=uom_id)
        for (product_id, price) in subres.items():
            results.setdefault(product_id, {})
            results[product_id][pricelist.id] = price
    return results
