feat: 审批单关联查询出来申请人的信息

This commit is contained in:
martsforever
2025-09-10 20:55:24 +08:00
parent 3943f09c30
commit 2db03a4fbb
+32 -1
View File
@@ -6,6 +6,7 @@ from sqlmodel import Field, Relationship, select
from app.model.ProjectModel import ProjectModel
from app.model.PublicApproveModel import PublicApproveModel
from app.model.UserModel import UserServiceModel
from app.utils.create_module_service import create_model_service
@@ -46,11 +47,41 @@ class ApproveModel(PublicApproveModel, table=True):
def project(self, value: Optional[ProjectModel]) -> None:
pass
# /*---------------------------------------user-------------------------------------------*/
apply_user_id: str = Field(
default=None,
description="申请人ID",
foreign_key="pl_user.id",
nullable=True
)
apply_user_relationship: Optional["UserServiceModel"] = Relationship(
sa_relationship_kwargs={
"foreign_keys": "ApproveModel.apply_user_id",
"remote_side": "UserServiceModel.id",
"uselist": False
}
)
@computed_field
@property
def apply_user(self) -> Optional["UserServiceModel"]:
try:
return self.apply_user_relationship
except:
return None
@apply_user.setter
def apply_user(self, value: Optional["UserServiceModel"]) -> None:
pass
ApproveService = create_model_service(
Cls=ApproveModel,
custom_query=lambda: select(ApproveModel)
.options(
selectinload(ApproveModel.proj_rel)
selectinload(ApproveModel.proj_rel),
selectinload(ApproveModel.apply_user_relationship),
)
)