Menu
Introduction
Getting Started
Developer guide
Release
Architecture
CLI
Technical documentations
Version
Publication date

Mar 9, 2022

Confidentiality
Public
Reactions
1
Share

BaseModelDTO

ModelDTO class.

Functions
__init__

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

data : Any
copy

Returns a copy of the model.

!!! warning "Deprecated" This method is now deprecated; use model_copy instead.

If you need include or exclude, use:

data = self.model_dump(include=include, exclude=exclude, round_trip=True)
data = {**data, **(update or {})}
copied = self.model_validate(data)

Args: include: Optional set or mapping specifying which fields to include in the copied model. exclude: Optional set or mapping specifying which fields to exclude in the copied model. update: Optional dictionary of field-value pairs to override field values in the copied model. deep: If True, the values of fields that are Pydantic models will be deep-copied.

Returns: A copy of the model with included, excluded and updated fields as specified.

include : AbstractSetIntStr | MappingIntStrAny | None
exclude : AbstractSetIntStr | MappingIntStrAny | None
update : Dict[str, Any] | None
deep : bool - False
Return type : Self
dict
include : IncEx | None
exclude : IncEx | None
by_alias : bool - False
exclude_unset : bool - False
exclude_defaults : bool - False
exclude_none : bool - False
Return type : Dict[str, Any]
json
include : IncEx | None
exclude : IncEx | None
by_alias : bool - False
exclude_unset : bool - False
exclude_defaults : bool - False
exclude_none : bool - False
encoder : Callable[[Any], Any] | None - PydanticUndefined
models_as_dict : bool - PydanticUndefined
dumps_kwargs : Any
Return type : str
model_copy

!!! abstract "Usage Documentation" model_copy

Returns a copy of the model.

!!! note The underlying instance's [__dict__][object.dict] attribute is copied. This might have unexpected side effects if you store anything in it, on top of the model fields (e.g. the value of [cached properties][functools.cached_property]).

Args: update: Values to change/add in the new model. Note: the data is not validated before creating the new model. You should trust this data. deep: Set to True to make a deep copy of the model.

Returns: New model instance.

update : Mapping[str, Any] | None
deep : bool - False
Return type : Self
model_dump

!!! abstract "Usage Documentation" model_dump

Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

Args: mode: The mode in which to_python should run. If mode is 'json', the output will only contain JSON serializable types. If mode is 'python', the output may contain non-JSON-serializable Python objects. include: A set of fields to include in the output. exclude: A set of fields to exclude from the output. context: Additional context to pass to the serializer. by_alias: Whether to use the field's alias in the dictionary key if defined. exclude_unset: Whether to exclude fields that have not been explicitly set. exclude_defaults: Whether to exclude fields that are set to their default value. exclude_none: Whether to exclude fields that have a value of None. exclude_computed_fields: Whether to exclude computed fields. While this can be useful for round-tripping, it is usually recommended to use the dedicated round_trip parameter instead. round_trip: If True, dumped values should be valid as input for non-idempotent types such as Json[T]. warnings: How to handle serialization errors. False/"none" ignores them, True/"warn" logs errors, "error" raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError]. fallback: A function to call when an unknown value is encountered. If not provided, a [PydanticSerializationError][pydantic_core.PydanticSerializationError] error is raised. serialize_as_any: Whether to serialize fields with duck-typing serialization behavior.

Returns: A dictionary representation of the model.

mode : Literal['json', 'python'] | str - python
include : IncEx | None
exclude : IncEx | None
context : Any | None
by_alias : bool | None
exclude_unset : bool - False
exclude_defaults : bool - False
exclude_none : bool - False
exclude_computed_fields : bool - False
round_trip : bool - False
warnings : bool | Literal['none', 'warn', 'error'] - True
fallback : Callable[[Any], Any] | None
serialize_as_any : bool - False
Return type : dict[str, Any]
model_dump_json

!!! abstract "Usage Documentation" model_dump_json

Generates a JSON representation of the model using Pydantic's to_json method.

Args: indent: Indentation to use in the JSON output. If None is passed, the output will be compact. ensure_ascii: If True, the output is guaranteed to have all incoming non-ASCII characters escaped. If False (the default), these characters will be output as-is. include: Field(s) to include in the JSON output. exclude: Field(s) to exclude from the JSON output. context: Additional context to pass to the serializer. by_alias: Whether to serialize using field aliases. exclude_unset: Whether to exclude fields that have not been explicitly set. exclude_defaults: Whether to exclude fields that are set to their default value. exclude_none: Whether to exclude fields that have a value of None. exclude_computed_fields: Whether to exclude computed fields. While this can be useful for round-tripping, it is usually recommended to use the dedicated round_trip parameter instead. round_trip: If True, dumped values should be valid as input for non-idempotent types such as Json[T]. warnings: How to handle serialization errors. False/"none" ignores them, True/"warn" logs errors, "error" raises a [PydanticSerializationError][pydantic_core.PydanticSerializationError]. fallback: A function to call when an unknown value is encountered. If not provided, a [PydanticSerializationError][pydantic_core.PydanticSerializationError] error is raised. serialize_as_any: Whether to serialize fields with duck-typing serialization behavior.

Returns: A JSON string representation of the model.

indent : int | None
ensure_ascii : bool - False
include : IncEx | None
exclude : IncEx | None
context : Any | None
by_alias : bool | None
exclude_unset : bool - False
exclude_defaults : bool - False
exclude_none : bool - False
exclude_computed_fields : bool - False
round_trip : bool - False
warnings : bool | Literal['none', 'warn', 'error'] - True
fallback : Callable[[Any], Any] | None
serialize_as_any : bool - False
Return type : str
model_post_init

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

context : Any
to_json_dict

Convert a ModelDTO to a json dictionary. This dict can be serialized.

Return type : dict
to_json_str

Convert a ModelDTO to a json string.

Return type : str
construct @classmethod
_fields_set : set[str] | None
values : Any
Return type : Self
from_json @classmethod

Create a ModelDTO from a json.

json_ : dict
Return type : BaseModelDTOType
from_json_list @classmethod

Create a list of ModelDTO from a list of json.

json_list : list
Return type : list
from_json_str @classmethod

Create a ModelDTO from a string json.

str_json : str
Return type : BaseModelDTOType
from_orm @classmethod
obj : Any
Return type : Self
from_record @classmethod

Create a dict of ModelDTO from a dict of json.

json_dict : dict
Return type : dict
model_construct @classmethod

Creates a new instance of the Model class with validated data.

Creates a new model setting __dict__ and __pydantic_fields_set__ from trusted or pre-validated data. Default values are respected, but no other validation is performed.

!!! note model_construct() generally respects the model_config.extra setting on the provided model. That is, if model_config.extra == 'allow', then all extra passed values are added to the model instance's __dict__ and __pydantic_extra__ fields. If model_config.extra == 'ignore' (the default), then all extra passed values are ignored. Because no validation is performed with a call to model_construct(), having model_config.extra == 'forbid' does not result in an error if extra values are passed, but they will be ignored.

Args: _fields_set: A set of field names that were originally explicitly set during instantiation. If provided, this is directly used for the [model_fields_set][pydantic.BaseModel.model_fields_set] attribute. Otherwise, the field names from the values argument will be used. values: Trusted or pre-validated data dictionary.

Returns: A new instance of the Model class with validated data.

_fields_set : set[str] | None
values : Any
Return type : Self
model_json_schema @classmethod

Generates a JSON schema for a model class.

Args: by_alias: Whether to use attribute aliases or not. ref_template: The reference template. union_format: The format to use when combining schemas from unions together. Can be one of:

    - `'any_of'`: Use the [`anyOf`](https://json-schema.org/understanding-json-schema/reference/combining#anyOf)
    keyword to combine schemas (the default).
    - `'primitive_type_array'`: Use the [`type`](https://json-schema.org/understanding-json-schema/reference/type)
    keyword as an array of strings, containing each type of the combination. If any of the schemas is not a primitive
    type (`string`, `boolean`, `null`, `integer` or `number`) or contains constraints/metadata, falls back to
    `any_of`.
schema_generator: To override the logic used to generate the JSON schema, as a subclass of
    `GenerateJsonSchema` with your desired modifications
mode: The mode in which to generate the schema.

Returns: The JSON schema for the given model class.

by_alias : bool - True
ref_template : str - #/$defs/{model}
schema_generator : type[GenerateJsonSchema] - <class 'pydantic.json_schema.GenerateJsonSchema'>
mode : JsonSchemaMode - validation
union_format : Literal['any_of', 'primitive_type_array'] - any_of
Return type : dict[str, Any]
model_parametrized_name @classmethod

Compute the class name for parametrizations of generic classes.

This method can be overridden to achieve a custom naming scheme for generic BaseModels.

Args: params: Tuple of types of the class. Given a generic class Model with 2 type variables and a concrete model Model[str, int], the value (str, int) would be passed to params.

Returns: String representing the new class where params are passed to cls as type variables.

Raises: TypeError: Raised when trying to generate concrete names for non-generic models.

params : tuple[type[Any], ...]
Return type : str
model_rebuild @classmethod

Try to rebuild the pydantic-core schema for the model.

This may be necessary when one of the annotations is a ForwardRef which could not be resolved during the initial attempt to build the schema, and automatic rebuilding fails.

Args: force: Whether to force the rebuilding of the model schema, defaults to False. raise_errors: Whether to raise errors, defaults to True. _parent_namespace_depth: The depth level of the parent namespace, defaults to 2. _types_namespace: The types namespace, defaults to None.

Returns: Returns None if the schema is already "complete" and rebuilding was not required. If rebuilding was required, returns True if rebuilding was successful, otherwise False.

force : bool - False
raise_errors : bool - True
_parent_namespace_depth : int - 2
_types_namespace : MappingNamespace | None
Return type : bool | None
model_validate @classmethod

Validate a pydantic model instance.

Args: obj: The object to validate. strict: Whether to enforce types strictly. extra: Whether to ignore, allow, or forbid extra data during model validation. See the [extra configuration value][pydantic.ConfigDict.extra] for details. from_attributes: Whether to extract data from object attributes. context: Additional context to pass to the validator. by_alias: Whether to use the field's alias when validating against the provided input data. by_name: Whether to use the field's name when validating against the provided input data.

Raises: ValidationError: If the object could not be validated.

Returns: The validated model instance.

obj : Any
strict : bool | None
extra : ExtraValues | None
from_attributes : bool | None
context : Any | None
by_alias : bool | None
by_name : bool | None
Return type : Self
model_validate_json @classmethod

!!! abstract "Usage Documentation" JSON Parsing

Validate the given JSON data against the Pydantic model.

Args: json_data: The JSON data to validate. strict: Whether to enforce types strictly. extra: Whether to ignore, allow, or forbid extra data during model validation. See the [extra configuration value][pydantic.ConfigDict.extra] for details. context: Extra variables to pass to the validator. by_alias: Whether to use the field's alias when validating against the provided input data. by_name: Whether to use the field's name when validating against the provided input data.

Returns: The validated Pydantic model.

Raises: ValidationError: If json_data is not a JSON string or the object could not be validated.

json_data : str | bytes | bytearray
strict : bool | None
extra : ExtraValues | None
context : Any | None
by_alias : bool | None
by_name : bool | None
Return type : Self
model_validate_strings @classmethod

Validate the given object with string data against the Pydantic model.

Args: obj: The object containing string data to validate. strict: Whether to enforce types strictly. extra: Whether to ignore, allow, or forbid extra data during model validation. See the [extra configuration value][pydantic.ConfigDict.extra] for details. context: Extra variables to pass to the validator. by_alias: Whether to use the field's alias when validating against the provided input data. by_name: Whether to use the field's name when validating against the provided input data.

Returns: The validated Pydantic model.

obj : Any
strict : bool | None
extra : ExtraValues | None
context : Any | None
by_alias : bool | None
by_name : bool | None
Return type : Self
parse_file @classmethod
path : str | Path
content_type : str | None
encoding : str - utf8
proto : DeprecatedParseProtocol | None
allow_pickle : bool - False
Return type : Self
parse_obj @classmethod
obj : Any
Return type : Self
parse_raw @classmethod
b : str | bytes
content_type : str | None
encoding : str - utf8
proto : DeprecatedParseProtocol | None
allow_pickle : bool - False
Return type : Self
schema @classmethod
by_alias : bool - True
ref_template : str - #/$defs/{model}
Return type : Dict[str, Any]
schema_json @classmethod
by_alias : bool - True
ref_template : str - #/$defs/{model}
dumps_kwargs : Any
Return type : str
to_json_list @classmethod

Convert a list of ModelDTO to a list of json dictionaries.

model_dto_list : list
Return type : list
update_forward_refs @classmethod
localns : Any
validate @classmethod
value : Any
Return type : Self
Shine Logo
Technical bricks to reuse or customize

Have you developed a brick?

Share it to accelerate projects for the entire community.