Strawberry GraphQL @ 0.341.1
Released
This release fixes how a null for a strawberry.Maybe[T] field of a
@strawberry.pydantic.input is reported.
Pydantic now validates the null as the type inside the Maybe , so it’s
reported at the field, like ["input", "name"] , together with the other
problems of the input, and returned as ValidationError data through
PydanticValidationErrorHandler :
@strawberry.pydantic.inputclass UpdateUserInput(BaseModel): name: strawberry.Maybe[Annotated[str, StringConstraints(min_length=1)]]{ "location": ["input", "name"], "message": "Input should be a valid string", "type": "string_type"} Before, it failed the whole operation with a top-level error and data: null ,
whether the null was written in the document or sent in a variable. Regular
@strawberry.input types are unchanged.
The docs now also cover @model_validator on Maybe fields, which sees them as
None or a Some , and model_dump(exclude_none=True) , which keeps a Maybe
field set to null .
This release was contributed by @patrick91 in https://github.com/strawberry-graphql/strawberry/pull/4796