🐛 Fix truncating the model's description with form feed (\f
) character for Pydantic V2
#13698
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem description
The code above will produce different description for
MyModel
in schema depending on whether Pydantic V1 or Pydantic V2 is used.With Pydantic V1 the description will be truncated starting from
\f
character (only first line will be in schema).With Pydantic V2 it will not be truncated (all 3 lines will be in schema).
Feature was introduced in #3032 .
But when the support of Pydantic V2 was added to FastAPI this feature wasn't added to the code related to Pydantic V2 (I think it was just oversight).
Related discussion(s):
#9038
Remark about
cast
I added commit that improves typing of new part of code by using
cast
. Not sure it's needed. If not, it can be easily reverted.