Skip to main content
Moderne OnlyThis recipe is proprietary to Moderne and runs on the Moderne platform or CLI — it isn’t part of the open-source catalog. Available with a Moderne subscription.Contact Sales

Replace instance access of model_fields / model_computed_fields

Recipe IDorg.openrewrite.python.migrate.pydantic.ReplaceModelFieldsInstanceAccess
Artifactopenrewrite-migrate-python

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.

Single recipePythonpythonpydanticmigration2.11Moderne Proprietary License
Try in PlatformTry this recipe in the Moderne platform. Not a user yet? You’ll get a no-setup demo environment, with nothing to install or configure.

Usage

Run this recipe

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:

Install the recipe package
mod config recipes pip install openrewrite-migrate-python==0.9.3

Then, you can run the recipe via:

Run the recipe
mod run . --recipe org.openrewrite.python.migrate.pydantic.ReplaceModelFieldsInstanceAccess