diff --git a/backend/categorisation/processor.py b/backend/categorisation/processor.py index 2e4bab12..95d4de3a 100644 --- a/backend/categorisation/processor.py +++ b/backend/categorisation/processor.py @@ -46,6 +46,8 @@ def process_portfolio( if plan.id is not None: # just in case plans_by_id[plan.id] = plan + logger.info(f"Successfully unset {len(default_plans)} default plan(s)") + # then set new defaults on domain objects under consideration plans_for_consideration_by_property: Dict[int, List[Plan]] = ( _group_plans_by_property(plans_for_consideration) @@ -68,8 +70,11 @@ def process_portfolio( if plan.id is not None: # just in case plans_by_id[plan.id] = plan + logger.info("Successfully set defaults on Plan objects in memory") + # then pass all domain objects to database to update (regardless of whether they've changed) _update_plans_in_db(list(plans_by_id.values())) + logger.info(f"Successfully updated {len(plans_by_id)} Plans in database") def choose_cheapest_relevant_plan( @@ -110,7 +115,12 @@ def _get_default_plans(portfolio_id: int) -> List[Plan]: return [ Plan.from_sqlalchemy( - p, next(s for s in default_scenario_models if s.id == p.scenario_id) + p, + next( + Scenario.from_sqlalchemy(s) + for s in default_scenario_models + if s.id == p.scenario_id + ), ) for p in default_plan_models ]