diff --git a/app/model/ReimburseModel.py b/app/model/ReimburseModel.py index 47d84b0..142d0ca 100644 --- a/app/model/ReimburseModel.py +++ b/app/model/ReimburseModel.py @@ -6,6 +6,7 @@ from sqlmodel import Field, Relationship, select from app.model.BasicModel import BasicModel from app.model.ProjectModel import ProjectModel +from app.model.ReimburseOtherModel import ReimburseOtherModel from app.model.ReimburseTravelModel import ReimburseTravelModel from app.utils.create_module_service import create_model_service @@ -62,6 +63,24 @@ class ReimburseModel(BasicModel, table=True): def travel_list(self, value: Optional[List["ReimburseTravelModel"]]) -> None: pass + # /*---------------------------------------other_list-------------------------------------------*/ + + other_list_rel: Optional[List["ReimburseOtherModel"]] = Relationship( + sa_relationship_kwargs={ + "foreign_keys": "ReimburseOtherModel.reimburse_id", + "primaryjoin": "ReimburseModel.id == ReimburseOtherModel.reimburse_id", + } + ) + + @computed_field + @property + def other_list(self) -> Optional[List["ReimburseOtherModel"]]: + return self.other_list_rel + + @other_list.setter + def other_list(self, value: Optional[List["ReimburseOtherModel"]]) -> None: + pass + ReimburseService = create_model_service( Cls=ReimburseModel, @@ -70,7 +89,7 @@ ReimburseService = create_model_service( selectinload(ReimburseModel.proj_rel). selectinload(ProjectModel.leader), - # 新增:预加载差旅明细 - selectinload(ReimburseModel.travel_list_rel) + selectinload(ReimburseModel.travel_list_rel), + selectinload(ReimburseModel.other_list_rel), ) )