feat: 审批单关联查询出来申请人的信息
This commit is contained in:
@@ -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),
|
||||
)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user