From 37b2056c2e04e1dece6394d28c1e26a8ef1f1e70 Mon Sep 17 00:00:00 2001 From: luandalmazo Date: Mon, 17 Aug 2026 10:45:27 -0300 Subject: [PATCH] add fallback to pydantic's extra fields --- datamint/entities/base_entity.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/datamint/entities/base_entity.py b/datamint/entities/base_entity.py index b2ba133..a90c407 100644 --- a/datamint/entities/base_entity.py +++ b/datamint/entities/base_entity.py @@ -182,6 +182,10 @@ def __getattr__(self, name: str) -> Any: raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}'") if name not in pydantic_fields: + # Not a declared field - fall back to pydantic's extra fields (extra='allow') + pydantic_extra = object.__getattribute__(self, '__pydantic_extra__') + if pydantic_extra is not None and name in pydantic_extra: + return pydantic_extra[name] raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}'") # This is a declared field that was deleted (MISSING_FIELD sentinel).