From 96349a9d06fdd9d93ae0871c4b66a44b96f47585 Mon Sep 17 00:00:00 2001 From: John Carter Date: Sun, 31 May 2020 12:43:40 +1200 Subject: [PATCH] Apply __modify_schema__ on enum schema rather than fields that use it Resolves #1576 --- pydantic/schema.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pydantic/schema.py b/pydantic/schema.py index 3ca516a9063..b12c8d0c67f 100644 --- a/pydantic/schema.py +++ b/pydantic/schema.py @@ -545,6 +545,10 @@ def enum_process_schema(enum: Type[Enum]) -> Dict[str, Any]: add_field_type_to_schema(enum, schema) + modify_schema = getattr(enum, '__modify_schema__', None) + if modify_schema: + modify_schema(schema) + return schema @@ -698,9 +702,9 @@ def field_singleton_schema( # noqa: C901 (ignore complexity) else: add_field_type_to_schema(field_type, f_schema) - modify_schema = getattr(field_type, '__modify_schema__', None) - if modify_schema: - modify_schema(f_schema) + modify_schema = getattr(field_type, '__modify_schema__', None) + if modify_schema: + modify_schema(f_schema) if f_schema: return f_schema, definitions, nested_models