feat: BaseModel.dictメソッドが非推奨になっていたのを修正。

This commit is contained in:
shimoda.m@nds-tyo.co.jp 2023-07-31 13:42:10 +09:00
parent 7e4c3fc5a1
commit e21f7a740e
11 changed files with 17 additions and 15 deletions

View File

@ -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

View File

@ -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

View File

@ -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())

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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),

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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}'