Skip to content

Commit 2b9db0c

Browse files
authored
handle nested oneOf in serialization (#2136)
1 parent b2fa9f4 commit 2b9db0c

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

.generator/src/generator/templates/model_utils.j2

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1373,8 +1373,11 @@ def model_to_dict(model_instance, serialize=True):
13731373
result = {}
13741374

13751375
model_instances = [model_instance]
1376-
if model_instance._composed_schemas:
1377-
model_instances.extend(model_instance._composed_instances)
1376+
model = model_instance
1377+
while model._composed_schemas:
1378+
model_instances.extend(model._composed_instances)
1379+
model = model.get_oneof_instance()
1380+
13781381
seen_json_attribute_names = set()
13791382
used_fallback_python_attribute_names = set()
13801383
py_to_json_map = {}

src/datadog_api_client/model_utils.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1387,8 +1387,11 @@ def model_to_dict(model_instance, serialize=True):
13871387
result = {}
13881388

13891389
model_instances = [model_instance]
1390-
if model_instance._composed_schemas:
1391-
model_instances.extend(model_instance._composed_instances)
1390+
model = model_instance
1391+
while model._composed_schemas:
1392+
model_instances.extend(model._composed_instances)
1393+
model = model.get_oneof_instance()
1394+
13921395
seen_json_attribute_names = set()
13931396
used_fallback_python_attribute_names = set()
13941397
py_to_json_map = {}

0 commit comments

Comments
 (0)