|
|
contract_model = self.env["contract.contract"]
fetch_data = contract_model.formatted_read_group(
domain=[("partner_id", "in", self.ids)],
groupby=["partner_id", "contract_type"],
aggregates=["__count"],
)
for partner in self:
partner_child_ids = partner.child_ids.ids + partner.ids
partner.sale_contract_count = sum(
d["__count"]
for d in fetch_data
if d["partner_id"][0] in partner_child_ids
and d["contract_type"] == "sale"
)
partner.purchase_contract_count = sum(
d["__count"]
for d in fetch_data
if d["partner_id"][0] in partner_child_ids
and d["contract_type"] == "purchase"
)
|
|