docs/v3/api-ref/python/prefect-server-utilities-schemas-bases.mdx
prefect.server.utilities.schemas.basesget_class_fields_only <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/utilities/schemas/bases.py#L22" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>get_class_fields_only(model: type[BaseModel]) -> set[str]
Gets all the field names defined on the model class but not any parent classes. Any fields that are on the parent but redefined on the subclass are included.
PrefectDescriptorBase <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/utilities/schemas/bases.py#L31" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>A base class for descriptor objects used with PrefectBaseModel
Pydantic needs to be told about any kind of non-standard descriptor objects used on a model, in order for these not to be treated as a field type instead.
This base class is registered as an ignored type with PrefectBaseModel and any classes that inherit from it will also be ignored. This allows such descriptors to be used as properties, methods or other bound descriptor use cases.
PrefectBaseModel <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/utilities/schemas/bases.py#L60" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>A base pydantic.BaseModel for all Prefect schemas and pydantic models.
As the basis for most Prefect schemas, this base model ignores extra fields that are passed to it at instantiation. Because adding new fields to API payloads is not considered a breaking change, this ensures that any Prefect client loading data from a server running a possibly-newer version of Prefect will be able to process those new fields gracefully.
Methods:
model_dump_for_orm <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/utilities/schemas/bases.py#L125" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>model_dump_for_orm(self) -> dict[str, Any]
Prefect extension to BaseModel.model_dump. Generate a Python dictionary
representation of the model suitable for passing to SQLAlchemy model
constructors, INSERT statements, etc. The critical difference here is that
this method will return any nested BaseModel objects as BaseModel instances,
rather than serialized Python dictionaries.
Accepts the standard Pydantic model_dump arguments, except for mode (which
is always "python"), round_trip, and warnings.
Usage docs: https://docs.pydantic.dev/2.6/concepts/serialization/#modelmodel_dump
Args:
include: A list of fields to include in the output.exclude: A list of fields to exclude from the output.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.Returns:
reset_fields <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/utilities/schemas/bases.py#L109" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>reset_fields(self: Self) -> Self
Reset the fields of the model that are in the _reset_fields set.
Returns:
IDBaseModel <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/utilities/schemas/bases.py#L192" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>A PrefectBaseModel with an auto-generated UUID ID value.
The ID is reset on copy() and not included in equality comparisons.
Methods:
model_validate_list <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/_internal/schemas/bases.py#L56" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>model_validate_list(cls, obj: Any) -> list[Self]
reset_fields <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/_internal/schemas/bases.py#L85" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>reset_fields(self: Self) -> Self
Reset the fields of the model that are in the _reset_fields set.
Returns:
TimeSeriesBaseModel <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/utilities/schemas/bases.py#L207" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>A PrefectBaseModel with a time-oriented UUIDv7 ID value. Used for models that operate like timeseries, such as runs, states, and logs.
ORMBaseModel <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/utilities/schemas/bases.py#L216" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>A PrefectBaseModel with an auto-generated UUID ID value and created / updated timestamps, intended for compatibility with our standard ORM models.
The ID, created, and updated fields are reset on copy() and not included in equality comparisons.
ActionBaseModel <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/server/utilities/schemas/bases.py#L238" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>Methods:
model_validate_list <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/_internal/schemas/bases.py#L56" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>model_validate_list(cls, obj: Any) -> list[Self]
reset_fields <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/prefect/_internal/schemas/bases.py#L85" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>reset_fields(self: Self) -> Self
Reset the fields of the model that are in the _reset_fields set.
Returns: