A Pydantic BaseModel for the root object of the model.
Attributes:
Name
Type
Description
root
RootModelRootType
The root object of the model.
__pydantic_root_model__
Whether the model is a RootModel.
__pydantic_private__
Private fields in the model.
__pydantic_extra__
Extra fields in the model.
Source code in pydantic/root_model.py
636465666768697071
def__init__(self,/,root:RootModelRootType=PydanticUndefined,**data)->None:# type: ignore__tracebackhide__=Trueifdata:ifrootisnotPydanticUndefined:raiseValueError('"RootModel.__init__" accepts either a single positional argument or arbitrary keyword arguments')root=data# type: ignoreself.__pydantic_validator__.validate_python(root,self_instance=self)
@classmethoddefmodel_construct(cls:type[Model],root:RootModelRootType,_fields_set:set[str]|None=None)->Model:# type: ignore"""Create a new model using the provided root object and update fields set. Args: root: The root object of the model. _fields_set: The set of fields to be updated. Returns: The new model. Raises: NotImplemented: If the model is not a subclass of `RootModel`. """returnsuper().model_construct(root=root,_fields_set=_fields_set)
This method is included just to get a more accurate return type for type checkers.
It is included in this if TYPE_CHECKING: block since no override is actually necessary.
See the documentation of BaseModel.model_dump for more details about the arguments.
Generally, this method will have a return type of RootModelRootType, assuming that RootModelRootType is
not a BaseModel subclass. If RootModelRootType is a BaseModel subclass, then the return
type will likely be dict[str, Any], as model_dump calls are recursive. The return type could
even be something different, in the case of a custom serializer.
Thus, Any is used here to catch all of these cases.
defmodel_dump(# type: ignoreself,*,mode:Literal['json','python']|str='python',include:Any=None,exclude:Any=None,context:dict[str,Any]|None=None,by_alias:bool=False,exclude_unset:bool=False,exclude_defaults:bool=False,exclude_none:bool=False,round_trip:bool=False,warnings:bool|Literal['none','warn','error']=True,serialize_as_any:bool=False,)->Any:"""This method is included just to get a more accurate return type for type checkers. It is included in this `if TYPE_CHECKING:` block since no override is actually necessary. See the documentation of `BaseModel.model_dump` for more details about the arguments. Generally, this method will have a return type of `RootModelRootType`, assuming that `RootModelRootType` is not a `BaseModel` subclass. If `RootModelRootType` is a `BaseModel` subclass, then the return type will likely be `dict[str, Any]`, as `model_dump` calls are recursive. The return type could even be something different, in the case of a custom serializer. Thus, `Any` is used here to catch all of these cases. """...