only write to db if is_default value has changed

This commit is contained in:
Daniel Roth 2026-02-16 11:59:03 +00:00
parent 3349edda89
commit b99fb686dd

View file

@ -72,14 +72,22 @@ def _choose_cheapest_relevant_plan(plans: List[Plan]) -> Plan:
return cheapest_plan return cheapest_plan
def _update_default_flags(plans: List[Plan], cheapest_plan: Plan) -> None: def _update_default_flags(plans: List["Plan"], cheapest_plan: Plan) -> None:
plan_models: List[PlanModel] = [] plans_to_update: List[Plan] = []
scenario_models: List[ScenarioModel] = []
for plan in plans: for plan in plans:
plan.set_default(plan.id == cheapest_plan.id) should_be_default: bool = plan.id == cheapest_plan.id
plan_model, scenario_model = plan.to_sqlalchemy() if plan.record.is_default != should_be_default:
plan_models.append(plan_model) plan.set_default(should_be_default)
scenario_models.append(scenario_model) plans_to_update.append(plan)
bulk_update_plans(plan_models, scenario_models) if plans_to_update:
plan_models: List[PlanModel] = []
scenario_models: List[ScenarioModel] = []
for plan in plans_to_update:
plan_model, scenario_model = plan.to_sqlalchemy()
plan_models.append(plan_model)
scenario_models.append(scenario_model)
bulk_update_plans(plan_models, scenario_models)