diff --git a/src/mistralai/models/fileschema.py b/src/mistralai/models/fileschema.py index 7c7b60c..1994403 100644 --- a/src/mistralai/models/fileschema.py +++ b/src/mistralai/models/fileschema.py @@ -61,9 +61,9 @@ class FileSchema(BaseModel): @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = ["num_lines", "mimetype", "signature"] - nullable_fields = ["num_lines", "mimetype", "signature"] - null_default_fields = [] + optional_fields = ("num_lines", "mimetype", "signature") + nullable_fields = ("num_lines", "mimetype", "signature") + null_default_fields = () serialized = handler(self) @@ -72,18 +72,14 @@ def serialize_model(self, handler): for n, f in type(self).model_fields.items(): k = f.alias or n val = serialized.get(k) - serialized.pop(k, None) optional_nullable = k in optional_fields and k in nullable_fields - is_set = ( - self.__pydantic_fields_set__.intersection({n}) - or k in null_default_fields - ) # pylint: disable=no-member + is_set = n in self.__pydantic_fields_set__ or k in null_default_fields if val is not None and val != UNSET_SENTINEL: m[k] = val elif val != UNSET_SENTINEL and ( - not k in optional_fields or (optional_nullable and is_set) + k not in optional_fields or (optional_nullable and is_set) ): m[k] = val