diff --git a/src/datamodel_code_generator/parser/jsonschema.py b/src/datamodel_code_generator/parser/jsonschema.py index e5cf081fd..02e5fbb19 100644 --- a/src/datamodel_code_generator/parser/jsonschema.py +++ b/src/datamodel_code_generator/parser/jsonschema.py @@ -351,14 +351,14 @@ def validate_null_type(cls, value: Any) -> Any: # noqa: N805 unevaluatedProperties: Optional[Union[JsonSchemaObject, bool]] = None # noqa: N815, UP007, UP045 patternProperties: Optional[dict[str, Union[JsonSchemaObject, bool]]] = None # noqa: N815, UP007, UP045 propertyNames: Optional[JsonSchemaObject] = None # noqa: N815, UP045 - oneOf: list[JsonSchemaObject] = [] # noqa: N815, RUF012 - anyOf: list[JsonSchemaObject] = [] # noqa: N815, RUF012 - allOf: list[JsonSchemaObject] = [] # noqa: N815, RUF012 - enum: list[Any] = [] # noqa: RUF012 + oneOf: list[JsonSchemaObject] = Field(default_factory=list) # noqa: N815 + anyOf: list[JsonSchemaObject] = Field(default_factory=list) # noqa: N815 + allOf: list[JsonSchemaObject] = Field(default_factory=list) # noqa: N815 + enum: list[Any] = Field(default_factory=list) writeOnly: Optional[bool] = None # noqa: N815, UP045 readOnly: Optional[bool] = None # noqa: N815, UP045 properties: Optional[dict[str, Union[JsonSchemaObject, bool]]] = None # noqa: UP007, UP045 - required: list[str] = [] # noqa: RUF012 + required: list[str] = Field(default_factory=list) ref: Optional[str] = Field(default=None, alias="$ref") # noqa: UP045 nullable: Optional[bool] = None # noqa: UP045 x_enum_varnames: list[str] = Field(default_factory=list, alias="x-enum-varnames") diff --git a/src/datamodel_code_generator/parser/openapi.py b/src/datamodel_code_generator/parser/openapi.py index fae1af0a5..f11134fcf 100644 --- a/src/datamodel_code_generator/parser/openapi.py +++ b/src/datamodel_code_generator/parser/openapi.py @@ -121,7 +121,7 @@ class ParameterObject(BaseModel): schema_: Optional[JsonSchemaObject] = Field(None, alias="schema") # noqa: UP045 example: YamlValue = None examples: Optional[Union[str, ReferenceObject, ExampleObject]] = None # noqa: UP007, UP045 - content: dict[str, MediaObject] = {} # noqa: RUF012 + content: dict[str, MediaObject] = Field(default_factory=dict) class HeaderObject(BaseModel): @@ -133,14 +133,14 @@ class HeaderObject(BaseModel): schema_: Optional[JsonSchemaObject] = Field(None, alias="schema") # noqa: UP045 example: YamlValue = None examples: Optional[Union[str, ReferenceObject, ExampleObject]] = None # noqa: UP007, UP045 - content: dict[str, MediaObject] = {} # noqa: RUF012 + content: dict[str, MediaObject] = Field(default_factory=dict) class RequestBodyObject(BaseModel): """Represent an OpenAPI request body object.""" description: Optional[str] = None # noqa: UP045 - content: dict[str, MediaObject] = {} # noqa: RUF012 + content: dict[str, MediaObject] = Field(default_factory=dict) required: bool = False @@ -148,31 +148,31 @@ class ResponseObject(BaseModel): """Represent an OpenAPI response object.""" description: Optional[str] = None # noqa: UP045 - headers: dict[str, ParameterObject] = {} # noqa: RUF012 - content: dict[Union[str, int], MediaObject] = {} # noqa: RUF012, UP007 + headers: dict[str, ParameterObject] = Field(default_factory=dict) + content: dict[Union[str, int], MediaObject] = Field(default_factory=dict) # noqa: UP007 class Operation(BaseModel): """Represent an OpenAPI operation object.""" - tags: list[str] = [] # noqa: RUF012 + tags: list[str] = Field(default_factory=list) summary: Optional[str] = None # noqa: UP045 description: Optional[str] = None # noqa: UP045 operationId: Optional[str] = None # noqa: N815, UP045 - parameters: list[Union[ReferenceObject, ParameterObject]] = [] # noqa: RUF012, UP007 + parameters: list[Union[ReferenceObject, ParameterObject]] = Field(default_factory=list) # noqa: UP007 requestBody: Optional[Union[ReferenceObject, RequestBodyObject]] = None # noqa: N815, UP007, UP045 - responses: dict[Union[str, int], Union[ReferenceObject, ResponseObject]] = {} # noqa: RUF012, UP007 + responses: dict[Union[str, int], Union[ReferenceObject, ResponseObject]] = Field(default_factory=dict) # noqa: UP007 deprecated: bool = False class ComponentsObject(BaseModel): """Represent an OpenAPI components object.""" - schemas: dict[str, Union[ReferenceObject, JsonSchemaObject]] = {} # noqa: RUF012, UP007 - responses: dict[str, Union[ReferenceObject, ResponseObject]] = {} # noqa: RUF012, UP007 - examples: dict[str, Union[ReferenceObject, ExampleObject]] = {} # noqa: RUF012, UP007 - requestBodies: dict[str, Union[ReferenceObject, RequestBodyObject]] = {} # noqa: N815, RUF012, UP007 - headers: dict[str, Union[ReferenceObject, HeaderObject]] = {} # noqa: RUF012, UP007 + schemas: dict[str, Union[ReferenceObject, JsonSchemaObject]] = Field(default_factory=dict) # noqa: UP007 + responses: dict[str, Union[ReferenceObject, ResponseObject]] = Field(default_factory=dict) # noqa: UP007 + examples: dict[str, Union[ReferenceObject, ExampleObject]] = Field(default_factory=dict) # noqa: UP007 + requestBodies: dict[str, Union[ReferenceObject, RequestBodyObject]] = Field(default_factory=dict) # noqa: N815, UP007 + headers: dict[str, Union[ReferenceObject, HeaderObject]] = Field(default_factory=dict) # noqa: UP007 @snooper_to_methods() diff --git a/src/datamodel_code_generator/types.py b/src/datamodel_code_generator/types.py index 2990b0208..9890afa61 100644 --- a/src/datamodel_code_generator/types.py +++ b/src/datamodel_code_generator/types.py @@ -28,7 +28,7 @@ import pydantic from packaging import version -from pydantic import StrictBool, StrictInt, StrictStr, create_model +from pydantic import Field, StrictBool, StrictInt, StrictStr, create_model from typing_extensions import TypeIs from datamodel_code_generator.format import ( @@ -428,7 +428,7 @@ class Config: type: Optional[str] = None # noqa: UP045 reference: Optional[Reference] = None # noqa: UP045 - data_types: list[DataType] = [] # noqa: RUF012 + data_types: list[DataType] = Field(default_factory=list) is_func: bool = False kwargs: Optional[dict[str, Any]] = None # noqa: UP045 import_: Optional[Import] = None # noqa: UP045 @@ -442,14 +442,14 @@ class Config: is_sequence: bool = False is_tuple: bool = False is_custom_type: bool = False - literals: list[Union[StrictBool, StrictInt, StrictStr]] = [] # noqa: RUF012, UP007 - enum_member_literals: list[tuple[str, str]] = [] # noqa: RUF012 # [(EnumClassName, member_name), ...] + literals: list[Union[StrictBool, StrictInt, StrictStr]] = Field(default_factory=list) # noqa: UP007 + enum_member_literals: list[tuple[str, str]] = Field(default_factory=list) # [(EnumClassName, member_name), ...] use_standard_collections: bool = False use_generic_container: bool = False use_union_operator: bool = False alias: Optional[str] = None # noqa: UP045 parent: Union[DataModelFieldBase, DataType, None] = None # noqa: UP007 - children: list[DataType] = [] # noqa: RUF012 + children: list[DataType] = Field(default_factory=list) strict: bool = False dict_key: Optional[DataType] = None # noqa: UP045 treat_dot_as_module: bool = False