diff --git a/ninja_schema/orm/model_schema.py b/ninja_schema/orm/model_schema.py index 3497504..55887ba 100755 --- a/ninja_schema/orm/model_schema.py +++ b/ninja_schema/orm/model_schema.py @@ -247,9 +247,11 @@ def __init__( @classmethod def clone_field(cls, field: FieldInfo, **kwargs: Any) -> FieldInfo: - field_dict = dict(field.__repr_args__()) - field_dict.update(**kwargs) - new_field = FieldInfo(**field_dict) # type: ignore + new_field = field._copy() + for key, value in kwargs.items(): + setattr(new_field, key, value) + new_field.rebuild_annotation() + return new_field def model_fields(self) -> Iterator[Field]: diff --git a/tests/test_v2_pydantic/test_model_schema.py b/tests/test_v2_pydantic/test_model_schema.py index 3b92551..4fffc0e 100644 --- a/tests/test_v2_pydantic/test_model_schema.py +++ b/tests/test_v2_pydantic/test_model_schema.py @@ -227,7 +227,7 @@ class Config: "description": "", "title": "Title", }, - "category": { + "category_id": { "anyOf": [{"type": "integer"}, {"type": "null"}], "default": None, "description": "",