feat: 每个model都可以按需控制自己是否需要级联查询出来关联信息

This commit is contained in:
martsforever
2025-08-24 11:15:39 +08:00
parent 3c9153d9f6
commit 5e000d6f3d
6 changed files with 53 additions and 22 deletions
+9 -4
View File
@@ -34,7 +34,10 @@ class RelProjUserModel(BasicModel, table=True):
@computed_field
@property
def user(self) -> Optional[UserServiceModel]:
return self.user_rel
try:
return self.user_rel
except:
return None
@user.setter
def user(self, value: Optional[UserServiceModel]) -> None:
@@ -60,7 +63,10 @@ class RelProjUserModel(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:
@@ -72,8 +78,7 @@ RelProjUserService = create_model_service(
custom_query=lambda: select(RelProjUserModel)
.options(
selectinload(RelProjUserModel.user_rel).
selectinload(UserServiceModel.position).
selectinload(PosModel.organization)
selectinload(UserServiceModel.position)
)
.options(
selectinload(RelProjUserModel.proj_rel).