From c0dbdb63bb33e72717f87e28550810a711db775c Mon Sep 17 00:00:00 2001 From: gordonblackadder <171737385+gblackadder@users.noreply.github.com> Date: Tue, 28 Jan 2025 21:32:22 -0500 Subject: [PATCH] preference the base model in merge_dicts except in skeleton mode (#16) --- pydantic_schemas/utils/utils.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pydantic_schemas/utils/utils.py b/pydantic_schemas/utils/utils.py index aa56f83..af8b710 100644 --- a/pydantic_schemas/utils/utils.py +++ b/pydantic_schemas/utils/utils.py @@ -173,10 +173,16 @@ def merge_dicts(base, update, skeleton_mode=False): else: new_dict[key] = base_value else: - if update_value is not None: - new_dict[key] = update_value + if skeleton_mode: + if update_value is not None: + new_dict[key] = update_value + else: + new_dict[key] = base_value else: - new_dict[key] = base_value + if base_value is None or base_value == "": + new_dict[key] = update_value + else: + new_dict[key] = base_value else: new_dict[key] = base_value for key, update_value in update.items():