@@ -100,8 +100,8 @@ def _parse_specific_params(parameters: Dict, executor_name: str):
100100 ]
101101
102102
103- def _create_aux_model_doc_list_to_list (model , cached_models = None ):
104- cached_models = cached_models or set ()
103+ def _create_aux_model_doc_list_to_list (model , cached_models = None ):
104+ cached_models = cached_models or {}
105105 fields : Dict [str , Any ] = {}
106106 for field_name , field in model .__annotations__ .items ():
107107 if field_name not in model .__fields__ :
@@ -111,11 +111,10 @@ def _create_aux_model_doc_list_to_list(model, cached_models = None):
111111 if issubclass (field , DocList ):
112112 t : Any = field .doc_type
113113 if t .__name__ in cached_models :
114- fields [field_name ] = (List [t ], field_info )
114+ fields [field_name ] = (List [cached_models [ t . __name__ ] ], field_info )
115115 else :
116- t_aux = _create_aux_model_doc_list_to_list (t )
116+ t_aux = _create_aux_model_doc_list_to_list (t , cached_models )
117117 fields [field_name ] = (List [t_aux ], field_info )
118- cached_models .add (t .__name__ )
119118 else :
120119 fields [field_name ] = (field , field_info )
121120 except TypeError :
@@ -125,7 +124,7 @@ def _create_aux_model_doc_list_to_list(model, cached_models = None):
125124 __base__ = model ,
126125 __validators__ = model .__validators__ ,
127126 ** fields )
128- cached_models . add ( new_model . __name__ )
127+ cached_models [ model . __name__ ] = new_model
129128
130129 return new_model
131130
0 commit comments