From 86b493af4a22147e610edc045962cc0c0a120ae2 Mon Sep 17 00:00:00 2001 From: Felddy Date: Fri, 18 Oct 2024 18:02:20 -0400 Subject: [PATCH] Enable populate_by_name to handle aliases I'm not sure if this is a work-around for a bug, or a needed option in Pydantic. See: - https://github.com/BeanieODM/beanie/issues/369 - https://docs.pydantic.dev/latest/api/config/#pydantic.config.ConfigDict.populate_by_name --- src/cyhy_db/models/place_doc.py | 2 +- src/cyhy_db/models/ticket_doc.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/cyhy_db/models/place_doc.py b/src/cyhy_db/models/place_doc.py index a170b0a..ed1e356 100644 --- a/src/cyhy_db/models/place_doc.py +++ b/src/cyhy_db/models/place_doc.py @@ -11,7 +11,7 @@ class PlaceDoc(Document): """The place document model.""" - model_config = ConfigDict(extra="forbid") + model_config = ConfigDict(extra="forbid", populate_by_name=True) class_: str = Field(alias="class") # 'class' is a reserved keyword in Python country_name: str diff --git a/src/cyhy_db/models/ticket_doc.py b/src/cyhy_db/models/ticket_doc.py index a4d7deb..f621216 100644 --- a/src/cyhy_db/models/ticket_doc.py +++ b/src/cyhy_db/models/ticket_doc.py @@ -30,7 +30,9 @@ class EventDelta(BaseModel): """The event delta model.""" - from_: Optional[bool | float | int | str] = Field(..., serialization_alias="from") + model_config = ConfigDict(populate_by_name=True) + + from_: Optional[bool | float | int | str] = Field(..., alias="from") key: str = Field(...) to: Optional[bool | float | int | str] = Field(...)