From 7d87223a00838c3df37310c54edffc46535346e6 Mon Sep 17 00:00:00 2001 From: Sherzod Karimov Date: Thu, 29 Aug 2024 11:44:51 -0400 Subject: [PATCH] handle nested oneOf in serialization --- .generator/src/generator/templates/model_utils.j2 | 7 +++++-- src/datadog_api_client/model_utils.py | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.generator/src/generator/templates/model_utils.j2 b/.generator/src/generator/templates/model_utils.j2 index b46675003c..b01a1756f9 100644 --- a/.generator/src/generator/templates/model_utils.j2 +++ b/.generator/src/generator/templates/model_utils.j2 @@ -1373,8 +1373,11 @@ def model_to_dict(model_instance, serialize=True): result = {} model_instances = [model_instance] - if model_instance._composed_schemas: - model_instances.extend(model_instance._composed_instances) + model = model_instance + while model._composed_schemas: + model_instances.extend(model._composed_instances) + model = model.get_oneof_instance() + seen_json_attribute_names = set() used_fallback_python_attribute_names = set() py_to_json_map = {} diff --git a/src/datadog_api_client/model_utils.py b/src/datadog_api_client/model_utils.py index 4a3e413a03..5d4611475d 100644 --- a/src/datadog_api_client/model_utils.py +++ b/src/datadog_api_client/model_utils.py @@ -1387,8 +1387,11 @@ def model_to_dict(model_instance, serialize=True): result = {} model_instances = [model_instance] - if model_instance._composed_schemas: - model_instances.extend(model_instance._composed_instances) + model = model_instance + while model._composed_schemas: + model_instances.extend(model._composed_instances) + model = model.get_oneof_instance() + seen_json_attribute_names = set() used_fallback_python_attribute_names = set() py_to_json_map = {}