diff --git a/ecs/jskult-webapp/src/model/db/base_db_model.py b/ecs/jskult-webapp/src/model/db/base_db_model.py index 0f817d91..31cb0901 100644 --- a/ecs/jskult-webapp/src/model/db/base_db_model.py +++ b/ecs/jskult-webapp/src/model/db/base_db_model.py @@ -2,4 +2,7 @@ from pydantic import BaseModel class BaseDBModel(BaseModel): - pass + def __init__(__pydantic_self__, **data) -> None: + """DBカラム名が大文字で取れることを見越して、キーを小文字にしてからインスタンス化する""" + lower_case_data = dict((k.lower(), v) for k, v in data.items()) + super().__init__(**lower_case_data) diff --git a/ecs/jskult-webapp/src/repositories/base_repository.py b/ecs/jskult-webapp/src/repositories/base_repository.py index 66cb5725..60f9ba33 100644 --- a/ecs/jskult-webapp/src/repositories/base_repository.py +++ b/ecs/jskult-webapp/src/repositories/base_repository.py @@ -26,10 +26,12 @@ class BaseRepository(metaclass=ABCMeta): pass def fetch_as_data_frame(self, parameter: dict) -> pd.DataFrame: + """DBの取得結果をデータフレームにして返す""" pass def _to_data_frame(self, query, parameter: BaseDBModel): + """DBの取得結果をデータフレームに変換する""" params = params=parameter.dict() sql_query = pd.read_sql(