Skip to main content

models_json_schema

Utility function to generate a JSON Schema for multiple models.

def models_json_schema(
models: Sequence[tuple[type[BaseModel] | type[PydanticDataclass], JsonSchemaMode]],
by_alias: bool = True,
title: str | None = None,
description: str | None = None,
ref_template: str = DEFAULT_REF_TEMPLATE,
union_format: Literal['any_of', 'primitive_type_array'] = 'any_of',
schema_generator: type[GenerateJsonSchema] = GenerateJsonSchema
) - > tuple[dict[tuple[type[BaseModel] | type[PydanticDataclass], JsonSchemaMode], JsonSchemaValue], JsonSchemaValue]

Utility function to generate a JSON Schema for multiple models.

Parameters

NameTypeDescription
models`Sequence[tuple[type[BaseModel]type[PydanticDataclass], JsonSchemaMode]]`
by_aliasbool = TrueWhether field aliases should be used as keys in the generated JSON Schema instead of the internal field names.
title`strNone` = None
description`strNone` = None
ref_templatestr = DEFAULT_REF_TEMPLATEThe reference template string used for generating internal JSON Schema pointers.
union_formatLiteral['any_of', 'primitive_type_array'] = 'any_of'The format used when combining schemas from unions; 'any_of' uses standard anyOf keywords, while 'primitive_type_array' attempts to use a type array for simple types.
schema_generatortype[GenerateJsonSchema] = GenerateJsonSchemaThe class used to orchestrate the generation of the JSON Schema.

Returns

TypeDescription
`tuple[dict[tuple[type[BaseModel]type[PydanticDataclass], JsonSchemaMode], JsonSchemaValue], JsonSchemaValue]`