feat: 每个model都可以按需控制自己是否需要级联查询出来关联信息
This commit is contained in:
@@ -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).
|
||||
|
||||
Reference in New Issue
Block a user