feat: 每个model都可以按需控制自己是否需要级联查询出来关联信息
This commit is contained in:
@@ -40,7 +40,10 @@ class ReimburseModel(BasicModel, table=True):
|
||||
@computed_field
|
||||
@property
|
||||
def project(self) -> Optional[ProjectModel]:
|
||||
return self.proj_rel
|
||||
try:
|
||||
return self.proj_rel
|
||||
except:
|
||||
return None
|
||||
|
||||
@project.setter
|
||||
def project(self, value: Optional[ProjectModel]) -> None:
|
||||
@@ -59,7 +62,10 @@ class ReimburseModel(BasicModel, table=True):
|
||||
@computed_field
|
||||
@property
|
||||
def travel_list(self) -> Optional[List["ReimburseTravelModel"]]:
|
||||
return self.travel_list_rel
|
||||
try:
|
||||
return self.travel_list_rel
|
||||
except:
|
||||
return None
|
||||
|
||||
@travel_list.setter
|
||||
def travel_list(self, value: Optional[List["ReimburseTravelModel"]]) -> None:
|
||||
@@ -77,7 +83,10 @@ class ReimburseModel(BasicModel, table=True):
|
||||
@computed_field
|
||||
@property
|
||||
def other_list(self) -> Optional[List["ReimburseOtherModel"]]:
|
||||
return self.other_list_rel
|
||||
try:
|
||||
return self.other_list_rel
|
||||
except:
|
||||
return None
|
||||
|
||||
@other_list.setter
|
||||
def other_list(self, value: Optional[List["ReimburseOtherModel"]]) -> None:
|
||||
@@ -119,7 +128,10 @@ class ReimburseModel(BasicModel, table=True):
|
||||
@computed_field
|
||||
@property
|
||||
def approve(self) -> Optional[ApproveModel]:
|
||||
return self.approve_rel
|
||||
try:
|
||||
return self.approve_rel
|
||||
except:
|
||||
return None
|
||||
|
||||
@approve.setter
|
||||
def approve(self, value: Optional[ApproveModel]) -> None:
|
||||
@@ -130,14 +142,11 @@ ReimburseService = create_model_service(
|
||||
Cls=ReimburseModel,
|
||||
custom_query=lambda: select(ReimburseModel)
|
||||
.options(
|
||||
selectinload(ReimburseModel.proj_rel).
|
||||
selectinload(ProjectModel.leader),
|
||||
selectinload(ReimburseModel.proj_rel),
|
||||
|
||||
selectinload(ReimburseModel.travel_list_rel),
|
||||
selectinload(ReimburseModel.other_list_rel),
|
||||
|
||||
selectinload(ReimburseModel.approve_rel).
|
||||
selectinload(ApproveModel.proj_rel).
|
||||
selectinload(ProjectModel.leader),
|
||||
selectinload(ReimburseModel.approve_rel)
|
||||
)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user