diff --git a/ecs/jskult-webapp/src/model/request/request_base_model.py b/ecs/jskult-webapp/src/model/request/request_base_model.py index 8194e7c0..746d30bc 100644 --- a/ecs/jskult-webapp/src/model/request/request_base_model.py +++ b/ecs/jskult-webapp/src/model/request/request_base_model.py @@ -14,7 +14,7 @@ class RequestBaseModel(BaseModel): """ def unescape(self): - for k, v in self.dict().items(): + for k, v in self.model_dump().items(): if v is not None and type(v) is str: setattr(self, k, html.unescape(v)) return self diff --git a/ecs/jskult-webapp/src/model/request/ultmarc_inst.py b/ecs/jskult-webapp/src/model/request/ultmarc_inst.py index bddd3d9f..8823e071 100644 --- a/ecs/jskult-webapp/src/model/request/ultmarc_inst.py +++ b/ecs/jskult-webapp/src/model/request/ultmarc_inst.py @@ -47,7 +47,7 @@ class UltmarcInstSearchModel(RequestBaseModel): ) def unescape(self): - for k, v in self.dict().items(): + for k, v in self.model_dump().items(): if v is not None and type(v) is str: setattr(self, k, html.unescape(v)) return self diff --git a/ecs/jskult-webapp/src/model/view/bio_disp_model.py b/ecs/jskult-webapp/src/model/view/bio_disp_model.py index dd9c2bb0..f0b6107e 100644 --- a/ecs/jskult-webapp/src/model/view/bio_disp_model.py +++ b/ecs/jskult-webapp/src/model/view/bio_disp_model.py @@ -5,4 +5,4 @@ from src.util.sanitize import sanitize @sanitize class BisDisplayModel(BioSalesLotDBModel): def __init__(self, param: BioSalesLotDBModel) -> None: - super().__init__(**param.dict()) + super().__init__(**param.model_dump()) diff --git a/ecs/jskult-webapp/src/model/view/bio_view_model.py b/ecs/jskult-webapp/src/model/view/bio_view_model.py index 5af25c32..c240d436 100644 --- a/ecs/jskult-webapp/src/model/view/bio_view_model.py +++ b/ecs/jskult-webapp/src/model/view/bio_view_model.py @@ -56,7 +56,7 @@ class BioViewModel(BaseModel): """json.dumpsの日付項目のフォーマットハンドラ""" return obj.isoformat().replace('T', ' ') if hasattr(obj, 'isoformat') else obj - search_data_list = [model.dict() for model in self.bio_data] + search_data_list = [model.model_dump() for model in self.bio_data] search_data_len = len(search_data_list) # 呼び出し一回あたりの分割数 part_size = 500 diff --git a/ecs/jskult-webapp/src/model/view/ultmarc_doctor_search_view_model.py b/ecs/jskult-webapp/src/model/view/ultmarc_doctor_search_view_model.py index 85b3dcf4..801b9cec 100644 --- a/ecs/jskult-webapp/src/model/view/ultmarc_doctor_search_view_model.py +++ b/ecs/jskult-webapp/src/model/view/ultmarc_doctor_search_view_model.py @@ -1,4 +1,5 @@ import json +from typing import Optional from pydantic import BaseModel @@ -12,7 +13,7 @@ class UltmarcDoctorSearchViewModel(BaseModel): subtitle: str = '医師検索一覧' is_batch_processing: bool = None prefc_models: list[PrefcMasterModel] - doctor_data: list[UltmarcDoctorDBModel] = None + doctor_data: Optional[list[UltmarcDoctorDBModel]] = None form_data: UltmarcDoctorSearchModel = None def ultmarc_data_json_str(self): @@ -21,7 +22,7 @@ class UltmarcDoctorSearchViewModel(BaseModel): """json.dumpsの日付項目のフォーマットハンドラ""" return obj.isoformat() if hasattr(obj, 'isoformat') else obj - search_data_list = [model.dict() for model in self.doctor_data] + search_data_list = [model.model_dump() for model in self.doctor_data] search_data_len = len(search_data_list) # 呼び出し一回あたりの分割数 part_size = 50 diff --git a/ecs/jskult-webapp/src/model/view/ultmarc_inst_search_view_model.py b/ecs/jskult-webapp/src/model/view/ultmarc_inst_search_view_model.py index 5b5d90c9..2a5a0dd5 100644 --- a/ecs/jskult-webapp/src/model/view/ultmarc_inst_search_view_model.py +++ b/ecs/jskult-webapp/src/model/view/ultmarc_inst_search_view_model.py @@ -1,4 +1,5 @@ import json +from typing import Optional from pydantic import BaseModel @@ -14,7 +15,7 @@ class UltmarcInstSearchViewModel(BaseModel): is_batch_processing: bool = None prefc_models: list[PrefcMasterModel] inst_div_models: list[InstDivMasterModel] - inst_data: list[UltmarcInstDBModel] = None + inst_data: Optional[list[UltmarcInstDBModel]] = None form_data: UltmarcInstSearchModel = None def ultmarc_data_json_str(self): @@ -23,7 +24,7 @@ class UltmarcInstSearchViewModel(BaseModel): """json.dumpsの日付項目のフォーマットハンドラ""" return obj.isoformat() if hasattr(obj, 'isoformat') else obj - search_data_list = [model.dict() for model in self.inst_data] + search_data_list = [model.model_dump() for model in self.inst_data] search_data_len = len(search_data_list) # 呼び出し一回あたりの分割数 part_size = 50 diff --git a/ecs/jskult-webapp/src/repositories/base_repository.py b/ecs/jskult-webapp/src/repositories/base_repository.py index 20aac09f..6d5e793a 100644 --- a/ecs/jskult-webapp/src/repositories/base_repository.py +++ b/ecs/jskult-webapp/src/repositories/base_repository.py @@ -32,7 +32,7 @@ class BaseRepository(metaclass=ABCMeta): def _to_data_frame(self, query, parameter: BaseDBModel): """DBの取得結果をデータフレームに変換する""" - params = params = parameter.dict() + params = params = parameter.model_dump() sql_query = pd.read_sql( text(query), diff --git a/ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py b/ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py index 28a59ea5..10d187c2 100644 --- a/ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py +++ b/ecs/jskult-webapp/src/repositories/bio_sales_lot_repository.py @@ -68,7 +68,7 @@ class BioSalesLotRepository(BaseRepository): where_clause = self.__build_condition(parameter) query = self.FETCH_SQL.format(where_clause=where_clause) logger.debug(f'SQL: {query}') - result = self._database.execute_select(query, parameter.dict()) + result = self._database.execute_select(query, parameter.model_dump()) logger.debug(f'count= {len(result)}') models = [BioSalesLotDBModel(**r) for r in result] return models diff --git a/ecs/jskult-webapp/src/repositories/ultmarc_doctor_repository.py b/ecs/jskult-webapp/src/repositories/ultmarc_doctor_repository.py index 03ee8271..9ad3ce16 100644 --- a/ecs/jskult-webapp/src/repositories/ultmarc_doctor_repository.py +++ b/ecs/jskult-webapp/src/repositories/ultmarc_doctor_repository.py @@ -52,10 +52,10 @@ class UltmarcDoctorRepository(BaseRepository): try: self._database.connect() # 文字列の検索を部分一致にするため、モデルをコピー。以降はこのコピーを使用する。 - clone_parameter = UltmarcDoctorSearchModel(**parameter.dict()) + clone_parameter = UltmarcDoctorSearchModel(**parameter.model_dump()) where_clause = self.__build_condition(clone_parameter) query = self.FETCH_SQL.format(where_clause=where_clause) - result = self._database.execute_select(query, clone_parameter.dict()) + result = self._database.execute_select(query, clone_parameter.model_dump()) models = [UltmarcDoctorDBModel(**r) for r in result] return models diff --git a/ecs/jskult-webapp/src/repositories/ultmarc_inst_repository.py b/ecs/jskult-webapp/src/repositories/ultmarc_inst_repository.py index ef1cab76..f94fae16 100644 --- a/ecs/jskult-webapp/src/repositories/ultmarc_inst_repository.py +++ b/ecs/jskult-webapp/src/repositories/ultmarc_inst_repository.py @@ -39,10 +39,10 @@ class UltmarcInstRepository(BaseRepository): try: self._database.connect() # 文字列の検索を部分一致にするため、モデルをコピー。以降はこのコピーを使用する。 - clone_parameter = UltmarcInstSearchModel(**parameter.dict()) + clone_parameter = UltmarcInstSearchModel(**parameter.model_dump()) where_clause = self.__build_condition(clone_parameter) query = self.FETCH_SQL.format(where_clause=where_clause) - result = self._database.execute_select(query, clone_parameter.dict()) + result = self._database.execute_select(query, clone_parameter.model_dump()) models = [UltmarcInstDBModel(**r) for r in result] return models diff --git a/ecs/jskult-webapp/src/services/bio_view_service.py b/ecs/jskult-webapp/src/services/bio_view_service.py index f77a6a5b..dd348d06 100644 --- a/ecs/jskult-webapp/src/services/bio_view_service.py +++ b/ecs/jskult-webapp/src/services/bio_view_service.py @@ -112,7 +112,7 @@ class BioViewService(BaseService): logger.info(sql_message) # 検索パラメータを1行ずつ書き出す - for param_key, param_value in parameters.dict().items(): + for param_key, param_value in parameters.model_dump().items(): if param_value is None or len(param_value) == 0: continue parameter_message = f'ユーザーID: {user_id} Value: {param_key} = {param_value}\t{download_file_name}'