) -> Any:
if field:
errors = []
+ if skip_defaults and isinstance(response, BaseModel):
+ response = response.dict(skip_defaults=skip_defaults)
value, errors_ = field.validate(response, {}, loc=("response",))
if isinstance(errors_, ErrorWrapper):
errors.append(errors_)
errors.extend(errors_)
if errors:
raise ValidationError(errors)
- if skip_defaults and isinstance(response, BaseModel):
- value = response.dict(skip_defaults=skip_defaults)
return jsonable_encoder(
value,
include=include,
sub: SubModel
+class ModelSubclass(Model):
+ y: int
+
+
@app.get("/", response_model=Model, response_model_skip_defaults=True)
-def get() -> Model:
- return Model(sub={})
+def get() -> ModelSubclass:
+ return ModelSubclass(sub={}, y=1)
client = TestClient(app)