Replace instance access of model_fields / model_computed_fields
org.openrewrite.python.migrate.pydantic.ReplaceModelFieldsInstanceAccess
Pydantic 2.11 deprecated accessing model_fields and model_computed_fields on a model instance; these are removed in Pydantic 3.0. Replace <instance>.model_fields with type(<instance>).model_fields (and likewise for model_computed_fields) when the receiver resolves to a Pydantic model, so the attribute is accessed on the class. Class access and cls access are left untouched.
Tags
Recipe source
This recipe is only available to users of Moderne.
This recipe is available under the Moderne Proprietary License.
Used by
This recipe is used as part of the following composite recipes:
Usage
In order to run Python recipes, you will need to use the Moderne CLI.
Once the CLI is installed, you can install this Python recipe package by running the following command:
mod config recipes pip install openrewrite-migrate-python
Then, you can run the recipe via:
mod run . --recipe org.openrewrite.python.migrate.pydantic.ReplaceModelFieldsInstanceAccess