INNER CODE UNIT · Python
_apply_missing_sentinel_config
koxudaxi/datamodel-code-generator · src/datamodel_code_generator/__init__.py:593
def _apply_missing_sentinel_config(config: GenerateConfig) -> GenerateConfig:
if not config.use_missing_sentinel:
return config
if config.output_model_type is not DataModelType.PydanticV2BaseModel:
msg = "`--use-missing-sentinel` is only supported for `--output-model-type pydantic_v2.BaseModel`"
raise Error(msg)
match target_version := config.target_pydantic_version:
case None:
return config.model_copy(update={"target_pydantic_version": TargetPydanticVersion.V2_12})
case _ if _is_pydantic_version_at_least(target_version, TargetPydanticVersion.V2_12):
return config
case _:
target_version_value = (
target_version.value if isinstance(target_version, TargetPydanticVersion) else target_version
)
msg = (