From 04d8f38e552eaf4fc14356afe782911cf063720c Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Thu, 30 Mar 2023 19:59:15 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=B4=B0=E3=81=8B=E3=81=AA=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecs/jskult-webapp/src/model/db/base_db_model.py | 5 ++++- ecs/jskult-webapp/src/repositories/base_repository.py | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) 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(