diff --git a/src/datamodel_code_generator/parser/base.py b/src/datamodel_code_generator/parser/base.py index 45ef24fd9..4563b6480 100644 --- a/src/datamodel_code_generator/parser/base.py +++ b/src/datamodel_code_generator/parser/base.py @@ -2426,9 +2426,15 @@ class Processed(NamedTuple): imports = module_to_import[module_] = Imports(self.use_exact_imports) init = False if module_: - parent = (*module_[:-1], "__init__.py") - if parent not in results: - results[parent] = Result(body="") + if len(module_) == 1: + parent = ("__init__.py",) + if parent not in results: + results[parent] = Result(body="") + else: + for i in range(1, len(module_)): + parent = (*module_[:i], "__init__.py") + if parent not in results: + results[parent] = Result(body="") if (*module_, "__init__.py") in results: module = (*module_, "__init__.py") init = True diff --git a/tests/data/expected/main/jsonschema/nested_directory/definitions/relative/__init__.py b/tests/data/expected/main/jsonschema/nested_directory/definitions/relative/__init__.py new file mode 100644 index 000000000..4146e0ec1 --- /dev/null +++ b/tests/data/expected/main/jsonschema/nested_directory/definitions/relative/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: external_files_in_directory +# timestamp: 2019-07-26T00:00:00+00:00 diff --git a/tests/data/expected/main/jsonschema/use_union_operator/definitions/relative/__init__.py b/tests/data/expected/main/jsonschema/use_union_operator/definitions/relative/__init__.py new file mode 100644 index 000000000..4146e0ec1 --- /dev/null +++ b/tests/data/expected/main/jsonschema/use_union_operator/definitions/relative/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: external_files_in_directory +# timestamp: 2019-07-26T00:00:00+00:00 diff --git a/tests/data/expected/main/openapi/nested_package_enum_default/io/__init__.py b/tests/data/expected/main/openapi/nested_package_enum_default/io/__init__.py new file mode 100644 index 000000000..9af8d39f5 --- /dev/null +++ b/tests/data/expected/main/openapi/nested_package_enum_default/io/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: nested_package_enum_default.json +# timestamp: 1985-10-26T08:21:00+00:00 diff --git a/tests/data/expected/main/openapi/nested_package_enum_default/io/example/__init__.py b/tests/data/expected/main/openapi/nested_package_enum_default/io/example/__init__.py new file mode 100644 index 000000000..9af8d39f5 --- /dev/null +++ b/tests/data/expected/main/openapi/nested_package_enum_default/io/example/__init__.py @@ -0,0 +1,3 @@ +# generated by datamodel-codegen: +# filename: nested_package_enum_default.json +# timestamp: 1985-10-26T08:21:00+00:00